GraphQL API Reference

Our API is organized around GraphQL. We’re convinced GraphQL is the future of APIs - it allows much finer command than other technologies such as REST. Payloads are typed and it’s efficient for reducing cascading requests.

This API reference includes:

  • Guides: step-by-step tutorials show you how to integrate our features
  • Concept documentation: describes every single part of the API in detail
  • API Explorer: Test everything. Our favorite explorer said, “The most beautiful things in the world cannot be seen or touched, they are felt with the heart.” ...well, you’ll quickly get a feel for how beautiful you can make your product experience when you test with our API Explorer!
Contact

API Support

integration@swan.io

Sales team

hello@swan.io

API Endpoints
# Sandbox:
https://api.swan.io/sandbox-partner/graphql

Queries

account

Description

Returns an account from its id.

Response

Returns an Account

Arguments
Name Description
accountId - ID!

Example

Query
query Account($accountId: ID!) {
  account(accountId: $accountId) {
    id
    number
    name
    holder {
      id
      verificationStatus
      info {
        ...AccountHolderInfoFragment
      }
      statusInfo {
        ...AccountHolderStatusInfoFragment
      }
      residencyAddress {
        ...AddressInfoFragment
      }
      createdDate
      updatedDate
      accounts {
        ...AccountConnectionFragment
      }
      supportingDocumentCollections {
        ...SupportingDocumentCollectionConnectionFragment
      }
      fundingLimitSettingsChangeRequests {
        ...FundingLimitSettingsChangeRequestConnectionFragment
      }
      onboarding {
        ...OnboardingFragment
      }
      externalAccounts {
        ...ExternalAccountConnectionFragment
      }
      paymentMandates {
        ...PaymentMandateConnectionFragment
      }
      fundingLimitSettings {
        ...FundingLimitSettingsFragment
      }
    }
    cashAccountType
    country
    paymentLevel
    BIC
    IBAN
    currency
    blockSDD
    statusInfo {
      status
    }
    partnershipStatusInfo {
      status
    }
    createdAt
    updatedAt
    virtualIbanEntries {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...VirtualIBANEntryEdgeFragment
      }
    }
    memberships {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...AccountMembershipEdgeFragment
      }
    }
    requiredConsentToFetchNewTransactions
    language
    legalRepresentativeMembership {
      id
      email
      user {
        ...UserFragment
      }
      legalRepresentative
      canViewAccount
      canManageBeneficiaries
      canInitiatePayments
      canManageAccountMembership
      canAddCards
      canManageCards
      statusInfo {
        ...AccountMembershipStatusInfoFragment
      }
      account {
        ...AccountFragment
      }
      spendingLimits {
        ...SpendingLimitFragment
      }
      createdAt
      updatedAt
      version
      residencyAddress {
        ...AddressInfoFragment
      }
      taxIdentificationNumber
      acceptedIdentificationLevels
      recommendedIdentificationLevel
      hasRequiredIdentificationLevel
      disabledAt
      cards {
        ...CardConnectionFragment
      }
      spending {
        ...SpendingFragment
      }
    }
    paymentAccountType
    upgradedAt
    bankDetails
    legalDocuments {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...LegalDocumentEdgeFragment
      }
    }
    balances {
      available {
        ...AmountFragment
      }
      pending {
        ...AmountFragment
      }
      booked {
        ...AmountFragment
      }
      reserved {
        ...AmountFragment
      }
    }
    statements {
      pageInfo {
        ...PageInfoFragment
      }
      totalCount
      edges {
        ...StatementEdgeFragment
      }
    }
    transactions {
      pageInfo {
        ...PageInfoFragment
      }
      totalCount
      edges {
        ...TransactionEdgeFragment
      }
    }
    invoices {
      pageInfo {
        ...PageInfoFragment
      }
      totalCount
      edges {
        ...InvoiceEdgeFragment
      }
    }
    receivedDirectDebitMandates {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...ReceivedDirectDebitMandateEdgeFragment
      }
    }
    standingOrders {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...StandingOrderEdgeFragment
      }
      totalCount
    }
    fundingSources {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...FundingSourceEdgeFragment
      }
      totalCount
    }
    merchantProfiles {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...MerchantProfileEdgeFragment
      }
      totalCount
    }
  }
}
Variables
{"accountId": 4}
Response
{
  "data": {
    "account": {
      "id": 4,
      "number": "000000012345",
      "name": "abc123",
      "holder": AccountHolder,
      "cashAccountType": "Current",
      "country": "FRA",
      "paymentLevel": "Limited",
      "BIC": BIC,
      "IBAN": "NL55INGB4789170233",
      "currency": "USD",
      "blockSDD": false,
      "statusInfo": AccountStatusInfo,
      "partnershipStatusInfo": PartnershipStatusInfo,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "virtualIbanEntries": VirtualIBANEntryConnection,
      "memberships": AccountMembershipConnection,
      "requiredConsentToFetchNewTransactions": true,
      "language": "de",
      "legalRepresentativeMembership": AccountMembership,
      "paymentAccountType": "EMoney",
      "upgradedAt": "2007-12-03T10:15:30Z",
      "bankDetails": "abc123",
      "legalDocuments": LegalDocumentConnection,
      "balances": AccountBalances,
      "statements": StatementConnection,
      "transactions": TransactionConnection,
      "invoices": InvoiceConnection,
      "receivedDirectDebitMandates": ReceivedDirectDebitMandateConnection,
      "standingOrders": StandingOrderConnection,
      "fundingSources": FundingSourceConnection,
      "merchantProfiles": MerchantProfileConnection
    }
  }
}

accountHolder

Description

Returns an account holder from its id.

Response

Returns an AccountHolder

Arguments
Name Description
id - ID!

Example

Query
query AccountHolder($id: ID!) {
  accountHolder(id: $id) {
    id
    verificationStatus
    info {
      type
      name
    }
    statusInfo {
      status
    }
    residencyAddress {
      addressLine1
      addressLine2
      city
      postalCode
      state
      country
    }
    createdDate
    updatedDate
    accounts {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...AccountEdgeFragment
      }
    }
    supportingDocumentCollections {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...SupportingDocumentCollectionEdgeFragment
      }
    }
    fundingLimitSettingsChangeRequests {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...FundingLimitSettingsChangeRequestEdgeFragment
      }
    }
    onboarding {
      id
      accountName
      accountCountry
      createdAt
      email
      finalizedAt
      language
      info {
        ...OnboardingAccountHolderInfoFragment
      }
      accountHolder {
        ...AccountHolderFragment
      }
      onboardingUrl
      onboardingState
      redirectUrl
      oAuthRedirectParameters {
        ...OAuthRedirectParametersFragment
      }
      statusInfo {
        ...OnboardingStatusInfoFragment
      }
      tcuUrl
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
      updatedAt
      account {
        ...AccountFragment
      }
      legalRepresentativeAcceptedIdentificationLevels
      legalRepresentativeRecommendedIdentificationLevel
    }
    externalAccounts {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...ExternalAccountEdgeFragment
      }
    }
    paymentMandates {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...PaymentMandateEdgeFragment
      }
    }
    fundingLimitSettings {
      instantFundingLimit {
        ...InstantFundingLimitFragment
      }
      fundingLimit {
        ...FundingLimitFragment
      }
      fundingLimitSettingsChangeRequest {
        ...FundingLimitSettingsChangeRequestFragment
      }
      statusInfo {
        ...FundingLimitSettingsStatusInfoFragment
      }
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "accountHolder": {
      "id": "4",
      "verificationStatus": "NotStarted",
      "info": AccountHolderInfo,
      "statusInfo": AccountHolderStatusInfo,
      "residencyAddress": AddressInfo,
      "createdDate": "2007-12-03T10:15:30Z",
      "updatedDate": "2007-12-03T10:15:30Z",
      "accounts": AccountConnection,
      "supportingDocumentCollections": SupportingDocumentCollectionConnection,
      "fundingLimitSettingsChangeRequests": FundingLimitSettingsChangeRequestConnection,
      "onboarding": Onboarding,
      "externalAccounts": ExternalAccountConnection,
      "paymentMandates": PaymentMandateConnection,
      "fundingLimitSettings": FundingLimitSettings
    }
  }
}

accountHolders

Description

Returns the list of account holders.

For a Project access token, this is all the account holders of the project and for an User access token, these are the holders of the accounts of which the user has an account membership.

Response

Returns an AccountHolderConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
filters - AccountHolderFilterInput
orderBy - AccountHolderOrderByInput
after - String

Example

Query
query AccountHolders(
  $first: Int!,
  $before: String,
  $filters: AccountHolderFilterInput,
  $orderBy: AccountHolderOrderByInput,
  $after: String
) {
  accountHolders(
    first: $first,
    before: $before,
    filters: $filters,
    orderBy: $orderBy,
    after: $after
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...AccountHolderFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "abc123",
  "filters": AccountHolderFilterInput,
  "orderBy": AccountHolderOrderByInput,
  "after": "abc123"
}
Response
{
  "data": {
    "accountHolders": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [AccountHolderEdge]
    }
  }
}

accountInvoice

Response

Returns an Invoice

Arguments
Name Description
invoiceId - ID!

Example

Query
query AccountInvoice($invoiceId: ID!) {
  accountInvoice(invoiceId: $invoiceId) {
    id
    accountId
    name
    status
    amount {
      currency
      value
    }
    url
    expiresAt
    openingDate
    closingDate
    createdAt
    updatedAt
  }
}
Variables
{"invoiceId": 4}
Response
{
  "data": {
    "accountInvoice": {
      "id": "4",
      "accountId": 4,
      "name": "abc123",
      "status": "Failed",
      "amount": Amount,
      "url": "abc123",
      "expiresAt": "2007-12-03T10:15:30Z",
      "openingDate": "2007-12-03T10:15:30Z",
      "closingDate": "2007-12-03T10:15:30Z",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

accountMembership

Description

Returns an account membership from its id.

Response

Returns an AccountMembership

Arguments
Name Description
id - ID!

Example

Query
query AccountMembership($id: ID!) {
  accountMembership(id: $id) {
    id
    email
    user {
      id
      accountMemberships {
        ...AccountMembershipConnectionFragment
      }
      mobilePhoneNumber
      firstName
      lastName
      allFirstNames
      birthDate
      nationalityCCA3
      idVerified
      authenticators {
        ...AuthenticatorFragment
      }
      identificationStatus
      identificationLevels {
        ...IdentificationLevelsFragment
      }
      preferredNotificationChannel
      createdAt
      updatedAt
      joinedAt
      identifications {
        ...IdentificationConnectionFragment
      }
    }
    legalRepresentative
    canViewAccount
    canManageBeneficiaries
    canInitiatePayments
    canManageAccountMembership
    canAddCards
    canManageCards
    statusInfo {
      status
    }
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    spendingLimits {
      type
      period
      amount {
        ...AmountFragment
      }
    }
    createdAt
    updatedAt
    version
    residencyAddress {
      addressLine1
      addressLine2
      city
      postalCode
      state
      country
    }
    taxIdentificationNumber
    acceptedIdentificationLevels
    recommendedIdentificationLevel
    hasRequiredIdentificationLevel
    disabledAt
    cards {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...CardEdgeFragment
      }
    }
    spending {
      period
      amount {
        ...AmountFragment
      }
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "accountMembership": {
      "id": 4,
      "email": "abc123",
      "user": User,
      "legalRepresentative": false,
      "canViewAccount": true,
      "canManageBeneficiaries": true,
      "canInitiatePayments": false,
      "canManageAccountMembership": false,
      "canAddCards": false,
      "canManageCards": false,
      "statusInfo": AccountMembershipStatusInfo,
      "account": Account,
      "spendingLimits": [SpendingLimit],
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "version": "abc123",
      "residencyAddress": AddressInfo,
      "taxIdentificationNumber": "abc123",
      "acceptedIdentificationLevels": ["Expert"],
      "recommendedIdentificationLevel": "Expert",
      "hasRequiredIdentificationLevel": true,
      "disabledAt": "2007-12-03T10:15:30Z",
      "cards": CardConnection,
      "spending": Spending
    }
  }
}

accountMemberships

Description

The list of account memberships

Response

Returns an AccountMembershipConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
after - String
filters - AccountMembershipsFilterInput
orderBy - AccountMembershipOrderByInput

Example

Query
query AccountMemberships(
  $first: Int!,
  $before: String,
  $after: String,
  $filters: AccountMembershipsFilterInput,
  $orderBy: AccountMembershipOrderByInput
) {
  accountMemberships(
    first: $first,
    before: $before,
    after: $after,
    filters: $filters,
    orderBy: $orderBy
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...AccountMembershipFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "abc123",
  "after": "abc123",
  "filters": AccountMembershipsFilterInput,
  "orderBy": AccountMembershipOrderByInput
}
Response
{
  "data": {
    "accountMemberships": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [AccountMembershipEdge]
    }
  }
}

accountStatement

Description

Returns an account statement by id

Response

Returns a Statement!

Arguments
Name Description
id - ID!

Example

Query
query AccountStatement($id: ID!) {
  accountStatement(id: $id) {
    id
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    openingBalance {
      currency
      value
    }
    closingBalance {
      currency
      value
    }
    openingDate
    closingDate
    status
    period
    totalCredits {
      currency
      value
    }
    totalDebits {
      currency
      value
    }
    fees {
      currency
      value
    }
    type {
      type
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "accountStatement": {
      "id": 4,
      "account": Account,
      "openingBalance": Amount,
      "closingBalance": Amount,
      "openingDate": "2007-12-03T10:15:30Z",
      "closingDate": "2007-12-03T10:15:30Z",
      "status": "Available",
      "period": "Monthly",
      "totalCredits": Amount,
      "totalDebits": Amount,
      "fees": Amount,
      "type": [StatementInfo],
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

accounts

Description

Returns the list of accounts.

For a Project access token, this is all the accounts of the project and for an User access token, these are the accounts of which the user has an account membership.

Response

Returns an AccountConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
after - String
filters - AccountFilterInput
orderBy - AccountOrderByInput

Example

Query
query Accounts(
  $first: Int!,
  $before: String,
  $after: String,
  $filters: AccountFilterInput,
  $orderBy: AccountOrderByInput
) {
  accounts(
    first: $first,
    before: $before,
    after: $after,
    filters: $filters,
    orderBy: $orderBy
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...AccountFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "abc123",
  "after": "xyz789",
  "filters": AccountFilterInput,
  "orderBy": AccountOrderByInput
}
Response
{
  "data": {
    "accounts": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [AccountEdge]
    }
  }
}

capitalDepositCase

Description

Return the capital deposit case for the provided id.

Response

Returns a CapitalDepositCase

Arguments
Name Description
id - ID!

Example

Query
query CapitalDepositCase($id: ID!) {
  capitalDepositCase(id: $id) {
    id
    shareholders {
      id
      capitalDepositAmount {
        ...AmountFragment
      }
      onboarding {
        ...OnboardingFragment
      }
      accountId
      status
      info {
        ... on IndividualShareholder {
          ...IndividualShareholderFragment
        }
        ... on CompanyShareholder {
          ...CompanyShareholderFragment
        }
      }
      documents {
        ...CapitalDepositDocumentFragment
      }
      createdAt
      updatedAt
    }
    totalCapitalDepositAmount {
      currency
      value
    }
    companyName
    companyOnboarding {
      id
      accountName
      accountCountry
      createdAt
      email
      finalizedAt
      language
      info {
        ...OnboardingAccountHolderInfoFragment
      }
      accountHolder {
        ...AccountHolderFragment
      }
      onboardingUrl
      onboardingState
      redirectUrl
      oAuthRedirectParameters {
        ...OAuthRedirectParametersFragment
      }
      statusInfo {
        ...OnboardingStatusInfoFragment
      }
      tcuUrl
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
      updatedAt
      account {
        ...AccountFragment
      }
      legalRepresentativeAcceptedIdentificationLevels
      legalRepresentativeRecommendedIdentificationLevel
    }
    companyAccountId
    status
    documents {
      id
      type
      downloadUrl
      uploadedAt
      status
      createdAt
      updatedAt
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "capitalDepositCase": {
      "id": "xyz789",
      "shareholders": [Shareholder],
      "totalCapitalDepositAmount": Amount,
      "companyName": "abc123",
      "companyOnboarding": Onboarding,
      "companyAccountId": "xyz789",
      "status": "Initiated",
      "documents": [CapitalDepositDocument],
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

capitalDepositCases

Description

Returns the list of capital deposit cases.

This query is restricted to a Project access token ( Learn More)

Response

Returns a CapitalDepositCaseConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
after - String
filters - CapitalDepositCaseFiltersInput
orderBy - CapitalDepositCaseOrderByInput

Example

Query
query CapitalDepositCases(
  $first: Int!,
  $before: String,
  $after: String,
  $filters: CapitalDepositCaseFiltersInput,
  $orderBy: CapitalDepositCaseOrderByInput
) {
  capitalDepositCases(
    first: $first,
    before: $before,
    after: $after,
    filters: $filters,
    orderBy: $orderBy
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...CapitalDepositCaseFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "abc123",
  "after": "xyz789",
  "filters": CapitalDepositCaseFiltersInput,
  "orderBy": CapitalDepositCaseOrderByInput
}
Response
{
  "data": {
    "capitalDepositCases": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [CapitalDepositCaseEdge]
    }
  }
}

card

Description

Returns a card from its id.

Response

Returns a Card

Arguments
Name Description
cardId - ID!

Example

Query
query Card($cardId: ID!) {
  card(cardId: $cardId) {
    id
    type
    createdAt
    updatedAt
    accountMembership {
      id
      email
      user {
        ...UserFragment
      }
      legalRepresentative
      canViewAccount
      canManageBeneficiaries
      canInitiatePayments
      canManageAccountMembership
      canAddCards
      canManageCards
      statusInfo {
        ...AccountMembershipStatusInfoFragment
      }
      account {
        ...AccountFragment
      }
      spendingLimits {
        ...SpendingLimitFragment
      }
      createdAt
      updatedAt
      version
      residencyAddress {
        ...AddressInfoFragment
      }
      taxIdentificationNumber
      acceptedIdentificationLevels
      recommendedIdentificationLevel
      hasRequiredIdentificationLevel
      disabledAt
      cards {
        ...CardConnectionFragment
      }
      spending {
        ...SpendingFragment
      }
    }
    mainCurrency
    cardContractExpiryDate
    cardDesignUrl
    cardUrl
    statusInfo {
      status
    }
    withdrawal
    international
    nonMainCurrencyTransactions
    eCommerce
    spendingLimits {
      type
      period
      amount {
        ...AmountFragment
      }
    }
    physicalCard {
      statusInfo {
        ...PhysicalCardStatusInfoFragment
      }
      expiryDate
      identifier
      offlineSpendingLimit {
        ...AmountFragment
      }
      cardMaskedNumber
    }
    cardMaskedNumber
    expiryDate
    name
    cardProduct {
      id
      name
      projectId
      status
      createdAt
      updatedAt
      applicableToPhysicalCards
      cardDesigns {
        ...CardProductDesignFragment
      }
      defaultCardProduct
      individualSpendingLimit {
        ...SpendingLimitFragment
      }
      companySpendingLimit {
        ...SpendingLimitFragment
      }
    }
    issuingCountry
    digitalCards {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...DigitalCardEdgeFragment
      }
    }
    transactions {
      pageInfo {
        ...PageInfoFragment
      }
      totalCount
      edges {
        ...TransactionEdgeFragment
      }
    }
    spending {
      period
      amount {
        ...AmountFragment
      }
    }
  }
}
Variables
{"cardId": 4}
Response
{
  "data": {
    "card": {
      "id": "4",
      "type": "Virtual",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "accountMembership": AccountMembership,
      "mainCurrency": "USD",
      "cardContractExpiryDate": "2007-12-03T10:15:30Z",
      "cardDesignUrl": "abc123",
      "cardUrl": "xyz789",
      "statusInfo": CardStatusInfo,
      "withdrawal": false,
      "international": true,
      "nonMainCurrencyTransactions": true,
      "eCommerce": true,
      "spendingLimits": [SpendingLimit],
      "physicalCard": PhysicalCard,
      "cardMaskedNumber": "xyz789",
      "expiryDate": "xyz789",
      "name": "xyz789",
      "cardProduct": CardProduct,
      "issuingCountry": CCA3,
      "digitalCards": DigitalCardConnection,
      "transactions": TransactionConnection,
      "spending": Spending
    }
  }
}

cards

Description

Returns the list of cards.

For a Project access token, this is all the cards of the project and for an User access token, these are the cards owned by the user whom have an account membership.

Response

Returns a CardConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
after - String
orderBy - CardOrderByInput When the list of elements needs to be ordered
filters - CardFiltersInput When the list of elements needs to be filtered

Example

Query
query Cards(
  $first: Int!,
  $before: String,
  $after: String,
  $orderBy: CardOrderByInput,
  $filters: CardFiltersInput
) {
  cards(
    first: $first,
    before: $before,
    after: $after,
    orderBy: $orderBy,
    filters: $filters
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...CardFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "abc123",
  "after": "xyz789",
  "orderBy": CardOrderByInput,
  "filters": CardFiltersInput
}
Response
{
  "data": {
    "cards": {
      "totalCount": 123,
      "pageInfo": PageInfo,
      "edges": [CardEdge]
    }
  }
}

consents

Description

Return the list of consents

For a User access token : return the list of consents for the signed-in user For a Project access token : return the list of consents for the project. This list can be filtered by userId

( Learn more on authentication)

Response

Returns a ConsentConnection!

Arguments
Name Description
first - Int! Default = 50
after - String
filters - ConsentsFiltersInput

Example

Query
query Consents(
  $first: Int!,
  $after: String,
  $filters: ConsentsFiltersInput
) {
  consents(
    first: $first,
    after: $after,
    filters: $filters
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...ConsentFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "after": "xyz789",
  "filters": ConsentsFiltersInput
}
Response
{
  "data": {
    "consents": {
      "totalCount": 123,
      "pageInfo": PageInfo,
      "edges": [ConsentEdge]
    }
  }
}

fundingLimitSettingsChangeRequest

Description

Returns a request for funding limit settings change from its id.

Arguments
Name Description
fundingLimitSettingsChangeRequestId - ID!

Example

Query
query FundingLimitSettingsChangeRequest($fundingLimitSettingsChangeRequestId: ID!) {
  fundingLimitSettingsChangeRequest(fundingLimitSettingsChangeRequestId: $fundingLimitSettingsChangeRequestId) {
    id
    instantFundingLimit {
      amount {
        ...AmountFragment
      }
    }
    fundingLimit {
      amount {
        ...AmountFragment
      }
    }
    approved {
      instantFundingLimit {
        ...FundingLimitAmountFragment
      }
      fundingLimit {
        ...FundingLimitAmountFragment
      }
    }
    statusInfo {
      status
    }
    createdAt
    updatedAt
  }
}
Variables
{"fundingLimitSettingsChangeRequestId": "4"}
Response
{
  "data": {
    "fundingLimitSettingsChangeRequest": {
      "id": "4",
      "instantFundingLimit": FundingLimitAmount,
      "fundingLimit": FundingLimitAmount,
      "approved": ApprovedFundingLimit,
      "statusInfo": FundingLimitSettingsChangeRequestStatusInfo,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03"
    }
  }
}

fundingSource

Description

Returns funding source by id.

Response

Returns a FundingSource

Arguments
Name Description
id - ID!

Example

Query
query FundingSource($id: ID!) {
  fundingSource(id: $id) {
    id
    name
    statusInfo {
      status
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "fundingSource": {
      "id": "4",
      "name": "abc123",
      "statusInfo": FundingSourceStatusInfo,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

ibanValidation

Description

Allows to check iban validation. It also returns its bank and reachability information

Response

Returns an IbanValidationResult

Arguments
Name Description
input - IbanValidationInput

Example

Query
query IbanValidation($input: IbanValidationInput) {
  ibanValidation(input: $input) {
    ... on ValidIban {
      iban
      accountNumber
      checksum
      bank {
        ...BankFragment
      }
      reachability {
        ...ReachabilityFragment
      }
    }
    ... on InvalidIban {
      iban
      code
      message
    }
  }
}
Variables
{"input": IbanValidationInput}
Response
{"data": {"ibanValidation": ValidIban}}

internationalBeneficiaryDynamicForms

Description

Returns an international beneficiary dynamic forms.

Arguments
Name Description
amount - AmountInput!
language - InternationalCreditTransferDisplayLanguage
dynamicFields - [InternationalBeneficiaryDetails!]

Example

Query
query InternationalBeneficiaryDynamicForms(
  $amount: AmountInput!,
  $language: InternationalCreditTransferDisplayLanguage,
  $dynamicFields: [InternationalBeneficiaryDetails!]
) {
  internationalBeneficiaryDynamicForms(
    amount: $amount,
    language: $language,
    dynamicFields: $dynamicFields
  ) {
    schemes {
      fields {
        ...FieldFragment
      }
      title
      type
    }
  }
}
Variables
{
  "amount": AmountInput,
  "language": "EN",
  "dynamicFields": [InternationalBeneficiaryDetails]
}
Response
{
  "data": {
    "internationalBeneficiaryDynamicForms": {
      "schemes": [Scheme]
    }
  }
}

internationalCreditTransferTransactionDetailsDynamicForm

Description

Returns an international credit transfer dynamic form.

Arguments
Name Description
targetAmount - AmountInput!
language - InternationalCreditTransferDisplayLanguage
internationalBeneficiary - InternationalBeneficiary!
refreshableFields - [InternationalCreditTransferDetails!]

Example

Query
query InternationalCreditTransferTransactionDetailsDynamicForm(
  $targetAmount: AmountInput!,
  $language: InternationalCreditTransferDisplayLanguage,
  $internationalBeneficiary: InternationalBeneficiary!,
  $refreshableFields: [InternationalCreditTransferDetails!]
) {
  internationalCreditTransferTransactionDetailsDynamicForm(
    targetAmount: $targetAmount,
    language: $language,
    internationalBeneficiary: $internationalBeneficiary,
    refreshableFields: $refreshableFields
  ) {
    fields {
      key
      name
      required
    }
    remainingFieldsToRefreshCount
  }
}
Variables
{
  "targetAmount": AmountInput,
  "language": "EN",
  "internationalBeneficiary": InternationalBeneficiary,
  "refreshableFields": [
    InternationalCreditTransferDetails
  ]
}
Response
{
  "data": {
    "internationalCreditTransferTransactionDetailsDynamicForm": {
      "fields": [Field],
      "remainingFieldsToRefreshCount": 123
    }
  }
}

merchantProfile

Description

Returns a merchant profile by id.

Response

Returns a MerchantProfile

Arguments
Name Description
id - ID!

Example

Query
query MerchantProfile($id: ID!) {
  merchantProfile(id: $id) {
    id
    accountId
    merchantName
    merchantWebsite
    merchantLogoUrl
    statusInfo {
      status
    }
    productType
    expectedMonthlyPaymentVolume {
      currency
      value
    }
    merchantPaymentMethods {
      id
      type
      productId
      methodId
      statusInfo {
        ...MerchantPaymentMethodStatusInfoFragment
      }
      version
      updatedAt
      rollingReserve {
        ...RollingReserveFragment
      }
    }
    requestedMerchantProfileUpdates {
      id
      merchantProfileId
      merchantName
      merchantWebsite
      merchantLogoUrl
      status
      productType
      expectedMonthlyPaymentVolume {
        ...AmountFragment
      }
      expectedAverageBasket {
        ...AmountFragment
      }
      createdAt
      updatedAt
    }
    expectedAverageBasket {
      currency
      value
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "merchantProfile": {
      "id": "4",
      "accountId": "4",
      "merchantName": "xyz789",
      "merchantWebsite": "abc123",
      "merchantLogoUrl": "abc123",
      "statusInfo": MerchantProfileStatusInfo,
      "productType": "Goods",
      "expectedMonthlyPaymentVolume": Amount,
      "merchantPaymentMethods": [MerchantPaymentMethod],
      "requestedMerchantProfileUpdates": [
        RequestMerchantProfileUpdate
      ],
      "expectedAverageBasket": Amount,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

onboarding

Description

Returns an onboarding from its id.

This query is restricted to a Project access token ( Learn More)

Response

Returns an Onboarding!

Arguments
Name Description
id - ID!

Example

Query
query Onboarding($id: ID!) {
  onboarding(id: $id) {
    id
    accountName
    accountCountry
    createdAt
    email
    finalizedAt
    language
    info {
      type
    }
    accountHolder {
      id
      verificationStatus
      info {
        ...AccountHolderInfoFragment
      }
      statusInfo {
        ...AccountHolderStatusInfoFragment
      }
      residencyAddress {
        ...AddressInfoFragment
      }
      createdDate
      updatedDate
      accounts {
        ...AccountConnectionFragment
      }
      supportingDocumentCollections {
        ...SupportingDocumentCollectionConnectionFragment
      }
      fundingLimitSettingsChangeRequests {
        ...FundingLimitSettingsChangeRequestConnectionFragment
      }
      onboarding {
        ...OnboardingFragment
      }
      externalAccounts {
        ...ExternalAccountConnectionFragment
      }
      paymentMandates {
        ...PaymentMandateConnectionFragment
      }
      fundingLimitSettings {
        ...FundingLimitSettingsFragment
      }
    }
    onboardingUrl
    onboardingState
    redirectUrl
    oAuthRedirectParameters {
      state
      redirectUrl
    }
    statusInfo {
      status
    }
    tcuUrl
    supportingDocumentCollection {
      id
      statusInfo {
        ...SupportingDocumentCollectionStatusInfoFragment
      }
      createdAt
      updatedAt
      supportingDocuments {
        ...SupportingDocumentFragment
      }
      requiredSupportingDocumentPurposes {
        ...SupportingDocumentPurposeFragment
      }
    }
    updatedAt
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    legalRepresentativeAcceptedIdentificationLevels
    legalRepresentativeRecommendedIdentificationLevel
  }
}
Variables
{"id": "4"}
Response
{
  "data": {
    "onboarding": {
      "id": "abc123",
      "accountName": "abc123",
      "accountCountry": "FRA",
      "createdAt": "2007-12-03T10:15:30Z",
      "email": "abc123",
      "finalizedAt": "2007-12-03T10:15:30Z",
      "language": "xyz789",
      "info": OnboardingAccountHolderInfo,
      "accountHolder": AccountHolder,
      "onboardingUrl": "abc123",
      "onboardingState": "Ongoing",
      "redirectUrl": "abc123",
      "oAuthRedirectParameters": OAuthRedirectParameters,
      "statusInfo": OnboardingStatusInfo,
      "tcuUrl": "abc123",
      "supportingDocumentCollection": SupportingDocumentCollection,
      "updatedAt": "2007-12-03T10:15:30Z",
      "account": Account,
      "legalRepresentativeAcceptedIdentificationLevels": ["Expert"],
      "legalRepresentativeRecommendedIdentificationLevel": "Expert"
    }
  }
}

onboardings

Description

Returns the list of onboardings.

This query is restricted to a Project access token ( Learn More)

Response

Returns an OnboardingConnection!

Arguments
Name Description
first - Int! Default = 50
before - String
after - String
filters - OnboardingFiltersInput
orderBy - OnboardingOrderByInput

Example

Query
query Onboardings(
  $first: Int!,
  $before: String,
  $after: String,
  $filters: OnboardingFiltersInput,
  $orderBy: OnboardingOrderByInput
) {
  onboardings(
    first: $first,
    before: $before,
    after: $after,
    filters: $filters,
    orderBy: $orderBy
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...OnboardingFragment
      }
    }
  }
}
Variables
{
  "first": 50,
  "before": "xyz789",
  "after": "xyz789",
  "filters": OnboardingFiltersInput,
  "orderBy": OnboardingOrderByInput
}
Response
{
  "data": {
    "onboardings": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [OnboardingEdge]
    }
  }
}

payment

Description

Returns a payment from its id.

Response

Returns a Payment!

Arguments
Name Description
id - ID!

Example

Query
query Payment($id: ID!) {
  payment(id: $id) {
    id
    createdAt
    updatedAt
    statusInfo {
      status
    }
    transactions {
      pageInfo {
        ...PageInfoFragment
      }
      totalCount
      edges {
        ...TransactionEdgeFragment
      }
    }
    standingOrder {
      id
      payments {
        ...PaymentConnectionFragment
      }
      reference
      label
      amount {
        ...AmountFragment
      }
      targetAvailableBalance {
        ...AmountFragment
      }
      period
      firstExecutionDate
      lastExecutionDate
      sepaBeneficiary {
        ...SEPABeneficiaryFragment
      }
      statusInfo {
        ...StandingOrderStatusInfoFragment
      }
      createdAt
      updatedAt
      account {
        ...AccountFragment
      }
      createdBy {
        ...UserFragment
      }
      nextExecutionDate
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "payment": {
      "id": "4",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "statusInfo": PaymentStatusInfo,
      "transactions": TransactionConnection,
      "standingOrder": StandingOrder
    }
  }
}

payments

Description

Returns the list of payments.

For a Project access token, this is all the payments of the project and for an User access token, these are the payments initiated by the user

Response

Returns a PaymentConnection!

Arguments
Name Description
first - Int! number of elements in the list (default value 50). Default = 50
after - String When the list of elements needs to start after a element
before - String When the list of elements needs to end before a element
orderBy - PaymentOrderByInput When the list of elements needs to be ordered
filters - PaymentFiltersInput When the list of elements needs to be filtered

Example

Query
query Payments(
  $first: Int!,
  $after: String,
  $before: String,
  $orderBy: PaymentOrderByInput,
  $filters: PaymentFiltersInput
) {
  payments(
    first: $first,
    after: $after,
    before: $before,
    orderBy: $orderBy,
    filters: $filters
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      node {
        ...PaymentFragment
      }
      cursor
    }
    totalCount
  }
}
Variables
{
  "first": 50,
  "after": "abc123",
  "before": "abc123",
  "orderBy": PaymentOrderByInput,
  "filters": PaymentFiltersInput
}
Response
{
  "data": {
    "payments": {
      "pageInfo": PageInfo,
      "edges": [PaymentEdge],
      "totalCount": 987
    }
  }
}

projectInfo

Description

Returns the project infos you set in the dashboard.

Response

Returns a ProjectInfo!

Example

Query
query ProjectInfo {
  projectInfo {
    cardProducts {
      id
      name
      projectId
      status
      createdAt
      updatedAt
      applicableToPhysicalCards
      cardDesigns {
        ...CardProductDesignFragment
      }
      defaultCardProduct
      individualSpendingLimit {
        ...SpendingLimitFragment
      }
      companySpendingLimit {
        ...SpendingLimitFragment
      }
    }
    activeCardSettings {
      id
      allowsApplePay
      version
      cardProjectLogoSvgUrl
      cardProjectLogo300dpiUrl
      cardProjectLogo600dpiUrl
      zoomRatioProjectLogo
      cardDesignUrl
      accentColor
      createdAt
      updatedAt
      status
      cardBackground {
        ...CardSettingsBackgroundFragment
      }
    }
    id
    B2BMembershipIDVerification
    accountOpeningEmailSettings {
      recipient
    }
    amlRiskLevel
    supportingDocumentSettings {
      collectMode
      communicationLanguage
      emailContact
    }
    name
    type
    logoUri
    accentColor
    customConsentSubdomain
    oAuthClientId
    tcuDocumentUri
    tcuDocumentId
    webBankingSettings {
      canViewAccountDetails
      canViewAccountStatement
      canManageVirtualIbans
      canInitiatePaymentsToNewBeneficiaries
      canViewPaymentList
      canOrderVirtualCards
      canOrderPhysicalCards
      canViewMembers
      canAddNewMembers
    }
    status
    allowsDesktopAuthentication
  }
}
Response
{
  "data": {
    "projectInfo": {
      "cardProducts": [CardProduct],
      "activeCardSettings": CardSettings,
      "id": 4,
      "B2BMembershipIDVerification": true,
      "accountOpeningEmailSettings": AccountOpeningEmailSettings,
      "amlRiskLevel": "Low",
      "supportingDocumentSettings": SupportingDocumentSettings,
      "name": "abc123",
      "type": "INDIVIDUAL",
      "logoUri": "xyz789",
      "accentColor": "xyz789",
      "customConsentSubdomain": "xyz789",
      "oAuthClientId": "abc123",
      "tcuDocumentUri": "abc123",
      "tcuDocumentId": "abc123",
      "webBankingSettings": WebBankingSettings,
      "status": "Initiated",
      "allowsDesktopAuthentication": false
    }
  }
}

receivedDirectDebitMandate

Description

Returns a received direct debit mandate from its id.

Response

Returns a ReceivedDirectDebitMandate

Arguments
Name Description
receivedDirectDebitMandateId - ID!

Example

Query
query ReceivedDirectDebitMandate($receivedDirectDebitMandateId: ID!) {
  receivedDirectDebitMandate(receivedDirectDebitMandateId: $receivedDirectDebitMandateId) {
    id
    version
    createdAt
    updatedAt
    signatureDate
    executedAt
    expiredAt
    statusInfo {
      status
    }
    name
  }
}
Variables
{"receivedDirectDebitMandateId": 4}
Response
{
  "data": {
    "receivedDirectDebitMandate": {
      "id": "4",
      "version": "abc123",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "signatureDate": "2007-12-03",
      "executedAt": "2007-12-03T10:15:30Z",
      "expiredAt": "2007-12-03",
      "statusInfo": ReceivedDirectDebitMandateStatusInfo,
      "name": "abc123"
    }
  }
}

shareholder

Description

Return the Shareholder for the provided id.

Response

Returns a Shareholder

Arguments
Name Description
id - ID!

Example

Query
query Shareholder($id: ID!) {
  shareholder(id: $id) {
    id
    capitalDepositAmount {
      currency
      value
    }
    onboarding {
      id
      accountName
      accountCountry
      createdAt
      email
      finalizedAt
      language
      info {
        ...OnboardingAccountHolderInfoFragment
      }
      accountHolder {
        ...AccountHolderFragment
      }
      onboardingUrl
      onboardingState
      redirectUrl
      oAuthRedirectParameters {
        ...OAuthRedirectParametersFragment
      }
      statusInfo {
        ...OnboardingStatusInfoFragment
      }
      tcuUrl
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
      updatedAt
      account {
        ...AccountFragment
      }
      legalRepresentativeAcceptedIdentificationLevels
      legalRepresentativeRecommendedIdentificationLevel
    }
    accountId
    status
    info {
      ... on IndividualShareholder {
        ...IndividualShareholderFragment
      }
      ... on CompanyShareholder {
        ...CompanyShareholderFragment
      }
    }
    documents {
      id
      type
      downloadUrl
      uploadedAt
      status
      createdAt
      updatedAt
    }
    createdAt
    updatedAt
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "shareholder": {
      "id": 4,
      "capitalDepositAmount": Amount,
      "onboarding": Onboarding,
      "accountId": "abc123",
      "status": "PendingOnboarding",
      "info": IndividualShareholder,
      "documents": [CapitalDepositDocument],
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

standingOrder

Description

Returns standing order from its id.

Response

Returns a StandingOrder

Arguments
Name Description
standingOrderId - ID!

Example

Query
query StandingOrder($standingOrderId: ID!) {
  standingOrder(standingOrderId: $standingOrderId) {
    id
    payments {
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...PaymentEdgeFragment
      }
      totalCount
    }
    reference
    label
    amount {
      currency
      value
    }
    targetAvailableBalance {
      currency
      value
    }
    period
    firstExecutionDate
    lastExecutionDate
    sepaBeneficiary {
      id
      name
      isMyOwnIban
      address {
        ...AddressFragment
      }
      maskedIBAN
    }
    statusInfo {
      status
    }
    createdAt
    updatedAt
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    createdBy {
      id
      accountMemberships {
        ...AccountMembershipConnectionFragment
      }
      mobilePhoneNumber
      firstName
      lastName
      allFirstNames
      birthDate
      nationalityCCA3
      idVerified
      authenticators {
        ...AuthenticatorFragment
      }
      identificationStatus
      identificationLevels {
        ...IdentificationLevelsFragment
      }
      preferredNotificationChannel
      createdAt
      updatedAt
      joinedAt
      identifications {
        ...IdentificationConnectionFragment
      }
    }
    nextExecutionDate
  }
}
Variables
{"standingOrderId": "4"}
Response
{
  "data": {
    "standingOrder": {
      "id": "4",
      "payments": PaymentConnection,
      "reference": "abc123",
      "label": "xyz789",
      "amount": Amount,
      "targetAvailableBalance": Amount,
      "period": "Daily",
      "firstExecutionDate": "2007-12-03T10:15:30Z",
      "lastExecutionDate": "2007-12-03T10:15:30Z",
      "sepaBeneficiary": SEPABeneficiary,
      "statusInfo": StandingOrderStatusInfo,
      "createdAt": "2007-12-03",
      "updatedAt": "2007-12-03",
      "account": Account,
      "createdBy": User,
      "nextExecutionDate": "2007-12-03"
    }
  }
}

transaction

Description

Returns a transaction from its id.

This query is restricted to a Project access token ( Learn More)

Response

Returns a Transaction!

Arguments
Name Description
id - ID!

Example

Query
query Transaction($id: ID!) {
  transaction(id: $id) {
    id
    reference
    paymentMethodIdentifier
    side
    type
    amount {
      currency
      value
    }
    label
    statusInfo {
      status
    }
    paymentId
    payment {
      id
      createdAt
      updatedAt
      statusInfo {
        ...PaymentStatusInfoFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      standingOrder {
        ...StandingOrderFragment
      }
    }
    createdAt
    updatedAt
    counterparty
    bookedBalanceAfter {
      currency
      value
    }
    paymentProduct
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    externalReference
    executionDate
    requestedExecutionAt
    originTransactionId
    originTransaction {
      id
      reference
      paymentMethodIdentifier
      side
      type
      amount {
        ...AmountFragment
      }
      label
      statusInfo {
        ...TransactionStatusInfoFragment
      }
      paymentId
      payment {
        ...PaymentFragment
      }
      createdAt
      updatedAt
      counterparty
      bookedBalanceAfter {
        ...AmountFragment
      }
      paymentProduct
      account {
        ...AccountFragment
      }
      externalReference
      executionDate
      requestedExecutionAt
      originTransactionId
      originTransaction {
        ...TransactionFragment
      }
    }
  }
}
Variables
{"id": 4}
Response
{
  "data": {
    "transaction": {
      "id": "4",
      "reference": "abc123",
      "paymentMethodIdentifier": "abc123",
      "side": "Debit",
      "type": "InternalCreditTransferOut",
      "amount": Amount,
      "label": "xyz789",
      "statusInfo": TransactionStatusInfo,
      "paymentId": "xyz789",
      "payment": Payment,
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "counterparty": "abc123",
      "bookedBalanceAfter": Amount,
      "paymentProduct": "InternalCreditTransfer",
      "account": Account,
      "externalReference": "xyz789",
      "executionDate": "2007-12-03T10:15:30Z",
      "requestedExecutionAt": "2007-12-03T10:15:30Z",
      "originTransactionId": "xyz789",
      "originTransaction": Transaction
    }
  }
}

transactions

Description

A list of transactions of a project.

For a Project access token, this is all the transactions of the project (only available with project access token)

Response

Returns a TransactionConnection!

Arguments
Name Description
after - String When the list of elements needs to start after a element
filters - TransactionsFiltersInput When the list of elements needs to be filtered
first - Int! number of elements in the list (default value 50). Default = 50
orderBy - TransactionsOrderByInput When the list of elements needs to be sorted (default value UpdatedAt desc)

Example

Query
query Transactions(
  $after: String,
  $filters: TransactionsFiltersInput,
  $first: Int!,
  $orderBy: TransactionsOrderByInput
) {
  transactions(
    after: $after,
    filters: $filters,
    first: $first,
    orderBy: $orderBy
  ) {
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    totalCount
    edges {
      node {
        ...TransactionFragment
      }
      cursor
    }
  }
}
Variables
{
  "after": "abc123",
  "filters": TransactionsFiltersInput,
  "first": 50,
  "orderBy": TransactionsOrderByInput
}
Response
{
  "data": {
    "transactions": {
      "pageInfo": PageInfo,
      "totalCount": 123,
      "edges": [TransactionEdge]
    }
  }
}

user

Description

Returns a User

For a Project access token : it requires a user id and returns the user for the given id For a User access token : returns the signed-in user and all of their data at Swan

( Learn more on authentication)

Response

Returns a User

Arguments
Name Description
id - String

Example

Query
query User($id: String) {
  user(id: $id) {
    id
    accountMemberships {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...AccountMembershipEdgeFragment
      }
    }
    mobilePhoneNumber
    firstName
    lastName
    allFirstNames
    birthDate
    nationalityCCA3
    idVerified
    authenticators {
      os
      brand
      model
      type
      userAgent
      acceptLanguage
    }
    identificationStatus
    identificationLevels {
      PVID
      QES
      expert
    }
    preferredNotificationChannel
    createdAt
    updatedAt
    joinedAt
    identifications {
      totalCount
      pageInfo {
        ...PageInfoFragment
      }
      edges {
        ...IdentificationEdgeFragment
      }
    }
  }
}
Variables
{"id": "abc123"}
Response
{
  "data": {
    "user": {
      "id": "4",
      "accountMemberships": AccountMembershipConnection,
      "mobilePhoneNumber": "+17895551234",
      "firstName": "abc123",
      "lastName": "xyz789",
      "allFirstNames": ["abc123"],
      "birthDate": "2007-12-03",
      "nationalityCCA3": CCA3,
      "idVerified": false,
      "authenticators": [Authenticator],
      "identificationStatus": "Uninitiated",
      "identificationLevels": IdentificationLevels,
      "preferredNotificationChannel": "Sms",
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z",
      "joinedAt": "2007-12-03T10:15:30Z",
      "identifications": IdentificationConnection
    }
  }
}

users

Description

Returns the list of user that joined the project The search field allows to search in : id, phonNumber, firstName, allFirstNames, lastName

This query is restricted to a Project access token ( Learn More)

Response

Returns a UserConnection!

Arguments
Name Description
after - String
before - String
filters - UserFilterInput
first - Int! Default = 50
search - String

Example

Query
query Users(
  $after: String,
  $before: String,
  $filters: UserFilterInput,
  $first: Int!,
  $search: String
) {
  users(
    after: $after,
    before: $before,
    filters: $filters,
    first: $first,
    search: $search
  ) {
    totalCount
    pageInfo {
      hasNextPage
      hasPreviousPage
      startCursor
      endCursor
    }
    edges {
      cursor
      node {
        ...UserFragment
      }
    }
  }
}
Variables
{
  "after": "xyz789",
  "before": "xyz789",
  "filters": UserFilterInput,
  "first": 50,
  "search": "xyz789"
}
Response
{
  "data": {
    "users": {
      "totalCount": 987,
      "pageInfo": PageInfo,
      "edges": [UserEdge]
    }
  }
}

Mutations

activatePhysicalCard

Description

Activate a Physical Card.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have the account membership for this card

Response

Returns an ActivatePhysicalCardPayload!

Arguments
Name Description
input - ActivatePhysicalCardInput!

Example

Query
mutation ActivatePhysicalCard($input: ActivatePhysicalCardInput!) {
  activatePhysicalCard(input: $input) {
    ... on ActivatePhysicalCardSuccessPayload {
      consent {
        ...ConsentFragment
      }
      physicalCard {
        ...PhysicalCardFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on PhysicalCardNotFoundRejection {
      message
      identifier
    }
    ... on PhysicalCardWrongStatusRejection {
      message
      identifier
      currentStatus
      expectedStatus
    }
    ... on CannotActivatePhysicalCardRejection {
      message
      identifier
    }
    ... on ForbiddenRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ActivatePhysicalCardInput}
Response
{
  "data": {
    "activatePhysicalCard": ActivatePhysicalCardSuccessPayload
  }
}

addAccountMembership

Description

Add a new account membership to an account.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddAccountMembershipPayload!

Arguments
Name Description
input - AddAccountMembershipInput!

Example

Query
mutation AddAccountMembership($input: AddAccountMembershipInput!) {
  addAccountMembership(input: $input) {
    ... on AddAccountMembershipSuccessPayload {
      accountMembership {
        ...AccountMembershipFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InvalidPhoneNumberRejection {
      message
    }
    ... on PermissionCannotBeGrantedRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddAccountMembershipInput}
Response
{
  "data": {
    "addAccountMembership": AddAccountMembershipSuccessPayload
  }
}

addAccountMemberships

Description

Add multiple new account memberships to account

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddAccountMembershipsPayload!

Arguments
Name Description
input - AddAccountMembershipsInput!

Example

Query
mutation AddAccountMemberships($input: AddAccountMembershipsInput!) {
  addAccountMemberships(input: $input) {
    ... on AddAccountMembershipsSuccessPayload {
      accountMemberships {
        ...AccountMembershipFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InvalidPhoneNumberRejection {
      message
    }
    ... on PermissionCannotBeGrantedRejection {
      message
    }
    ... on TooManyItemsRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddAccountMembershipsInput}
Response
{
  "data": {
    "addAccountMemberships": AddAccountMembershipsSuccessPayload
  }
}

addCard

Description

Add a new card to an account membership.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddCardPayload!

Arguments
Name Description
input - AddCardInput!

Example

Query
mutation AddCard($input: AddCardInput!) {
  addCard(input: $input) {
    ... on AddCardSuccessPayload {
      card {
        ...CardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on CardProductSuspendedRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddCardInput}
Response
{"data": {"addCard": AddCardSuccessPayload}}

addCards

Description

Add several cards

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddCardsPayload!

Arguments
Name Description
input - AddCardsInput!

Example

Query
mutation AddCards($input: AddCardsInput!) {
  addCards(input: $input) {
    ... on AddCardsSuccessPayload {
      cards {
        ...CardFragment
      }
    }
    ... on AddingCardsToDifferentAccountsRejection {
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on TooManyItemsRejection {
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardProductSuspendedRejection {
      message
    }
    ... on CardProductNotApplicableToPhysicalCardsRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddCardsInput}
Response
{"data": {"addCards": AddCardsSuccessPayload}}

addCardsWithGroupDelivery

Description

Add several cards with Group Delivery

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddCardsWithGroupDeliveryPayload!

Arguments
Name Description
input - AddCardsWithGroupDeliveryInput!

Example

Query
mutation AddCardsWithGroupDelivery($input: AddCardsWithGroupDeliveryInput!) {
  addCardsWithGroupDelivery(input: $input) {
    ... on AddCardsWithGroupDeliverySuccessPayload {
      cards {
        ...CardFragment
      }
    }
    ... on AddingCardsToDifferentAccountsRejection {
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on TooManyItemsRejection {
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardProductSuspendedRejection {
      message
    }
    ... on CardProductNotApplicableToPhysicalCardsRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddCardsWithGroupDeliveryInput}
Response
{
  "data": {
    "addCardsWithGroupDelivery": AddCardsWithGroupDeliverySuccessPayload
  }
}

addDigitalCard

Description

Add a Digital Card to push to ApplePay or GooglePay

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must be the card holder

A digital card will only be valid for 1 hour after consent validation

Response

Returns an AddDigitalCardPayload!

Arguments
Name Description
input - AddDigitalCardInput

Example

Query
mutation AddDigitalCard($input: AddDigitalCardInput) {
  addDigitalCard(input: $input) {
    ... on AddDigitalCardSuccessPayload {
      digitalCard {
        ...PendingDigitalCardFragment
      }
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on CardCanNotBeDigitalizedRejection {
      id
      message
    }
    ... on ApplePayNotAllowedForProjectRejection {
      id
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddDigitalCardInput}
Response
{"data": {"addDigitalCard": AddDigitalCardSuccessPayload}}

addDirectDebitFundingSource

Description

Add a funding source to an account

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Arguments
Name Description
input - AddDirectDebitFundingSourceInput!

Example

Query
mutation AddDirectDebitFundingSource($input: AddDirectDebitFundingSourceInput!) {
  addDirectDebitFundingSource(input: $input) {
    ... on AddDirectDebitFundingSourceSuccessPayload {
      fundingSource {
        ...FundingSourceFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
    ... on AccountVerificationAlreadyRejectedRejection {
      message
    }
    ... on IBANNotReachableRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddDirectDebitFundingSourceInput}
Response
{
  "data": {
    "addDirectDebitFundingSource": AddDirectDebitFundingSourceSuccessPayload
  }
}

addExternalAccount

Description

Add an external account to an account holder.

This mutation is restricted to a Project access token ( Learn More).

Response

Returns an AddExternalAccountPayload!

Arguments
Name Description
input - AddExternalAccountInput!

Example

Query
mutation AddExternalAccount($input: AddExternalAccountInput!) {
  addExternalAccount(input: $input) {
    ... on AddExternalAccountSuccessPayload {
      externalAccount {
        ...ExternalAccountFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
    ... on IbanValidationRejection {
      message
    }
    ... on ExternalAccountAlreadyExistsRejection {
      iban
      accountHolderId
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": AddExternalAccountInput}
Response
{
  "data": {
    "addExternalAccount": AddExternalAccountSuccessPayload
  }
}

addExternalAccountBalance

use AddOrUpdateExternalAccountBalance instead
Description

Add an external balance to an external account.

This mutation is restricted to a Project access token ( Learn More).

Response

Returns an AddExternalAccountBalancePayload!

Arguments
Name Description
input - AddExternalAccountBalanceInput!

Example

Query
mutation AddExternalAccountBalance($input: AddExternalAccountBalanceInput!) {
  addExternalAccountBalance(input: $input) {
    ... on AddExternalAccountBalanceSuccessPayload {
      externalAccountBalance {
        ...ExternalAccountBalanceFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
    ... on ExternalAccountBalanceAlreadyExistsRejection {
      type
      lastChangedAt
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": AddExternalAccountBalanceInput}
Response
{
  "data": {
    "addExternalAccountBalance": AddExternalAccountBalanceSuccessPayload
  }
}

addFundingLimitSettingsChangeRequest

Description

COMING SOON Add a new request for funding limit settings change.

This mutation is restricted to a Project access token ( Learn More).

Arguments
Name Description
input - AddFundingLimitSettingsChangeRequestInput!

Example

Query
mutation AddFundingLimitSettingsChangeRequest($input: AddFundingLimitSettingsChangeRequestInput!) {
  addFundingLimitSettingsChangeRequest(input: $input) {
    ... on AddFundingLimitSettingsChangeRequestSuccessPayload {
      fundingLimitSettingsChangeRequest {
        ...FundingLimitSettingsChangeRequestFragment
      }
    }
    ... on FundingLimitSettingsChangeRequestBadAmountRejection {
      message
    }
    ... on AccountHolderNotFoundRejection {
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddFundingLimitSettingsChangeRequestInput}
Response
{
  "data": {
    "addFundingLimitSettingsChangeRequest": AddFundingLimitSettingsChangeRequestSuccessPayload
  }
}

addInternalDirectDebitPaymentMandate

Description

Allows to add an internal direct debit payment mandate.

Arguments
Name Description
input - AddInternalDirectDebitPaymentMandateInput!

Example

Query
mutation AddInternalDirectDebitPaymentMandate($input: AddInternalDirectDebitPaymentMandateInput!) {
  addInternalDirectDebitPaymentMandate(input: $input) {
    ... on AddInternalDirectDebitPaymentMandateSuccessPayload {
      internalDirectDebitPaymentMandateId
      paymentMandate {
        ...InternalPaymentDirectDebitMandateFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
    ... on DebtorAccountNotAllowedRejection {
      message
    }
    ... on DebtorAccountClosedRejection {
      message
    }
    ... on SchemeWrongRejection {
      message
    }
    ... on PaymentMandateReferenceAlreadyUsedRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": AddInternalDirectDebitPaymentMandateInput}
Response
{
  "data": {
    "addInternalDirectDebitPaymentMandate": AddInternalDirectDebitPaymentMandateSuccessPayload
  }
}

addMerchantProfile

Description

Add a merchant profile to a company account holder

Response

Returns an AddMerchantProfilePayload

Arguments
Name Description
input - AddMerchantProfileInput!

Example

Query
mutation AddMerchantProfile($input: AddMerchantProfileInput!) {
  addMerchantProfile(input: $input) {
    ... on AddMerchantProfileSuccessPayload {
      merchantProfile {
        ...MerchantProfileFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": AddMerchantProfileInput}
Response
{
  "data": {
    "addMerchantProfile": AddMerchantProfileSuccessPayload
  }
}

addOrUpdateExternalAccountBalance

Description

Add an external balance to an external account. If a balance already exist for the day, the balance amount will be updated.

This mutation is restricted to a Project access token ( Learn More).

Arguments
Name Description
input - AddOrUpdateExternalAccountBalanceInput!

Example

Query
mutation AddOrUpdateExternalAccountBalance($input: AddOrUpdateExternalAccountBalanceInput!) {
  addOrUpdateExternalAccountBalance(input: $input) {
    ... on AddOrUpdateExternalAccountBalanceSuccessPayload {
      externalAccountBalance {
        ...ExternalAccountBalanceFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": AddOrUpdateExternalAccountBalanceInput}
Response
{
  "data": {
    "addOrUpdateExternalAccountBalance": AddOrUpdateExternalAccountBalanceSuccessPayload
  }
}

addReceivedInternalDirectDebitB2bMandate

Description

Allows to add a received internal direct debit mandate B2b.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.

The user must be able to initiate payments for this account.

Example

Query
mutation AddReceivedInternalDirectDebitB2bMandate($input: AddReceivedInternalDirectDebitB2bMandateInput!) {
  addReceivedInternalDirectDebitB2bMandate(input: $input) {
    ... on AddReceivedInternalDirectDebitB2bMandateSuccessPayload {
      receivedDirectDebitMandate {
        ...ReceivedDirectDebitMandateFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on PaymentMandateMandateNotFoundRejection {
      id
      message
    }
    ... on AccountHolderTypeIndividualRejection {
      message
    }
  }
}
Variables
{"input": AddReceivedInternalDirectDebitB2bMandateInput}
Response
{
  "data": {
    "addReceivedInternalDirectDebitB2bMandate": AddReceivedInternalDirectDebitB2bMandateSuccessPayload
  }
}

addReceivedSepaDirectDebitB2bMandate

Description

Allows to add a received sepa direct debit mandate B2b.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.

The user must be able to initiate payments for this account.

Arguments
Name Description
input - AddReceivedSepaDirectDebitB2bMandateInput!

Example

Query
mutation AddReceivedSepaDirectDebitB2bMandate($input: AddReceivedSepaDirectDebitB2bMandateInput!) {
  addReceivedSepaDirectDebitB2bMandate(input: $input) {
    ... on AddReceivedSepaDirectDebitB2bMandateSuccessPayload {
      receivedDirectDebitMandate {
        ...ReceivedDirectDebitMandateFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on AccountHolderTypeIndividualRejection {
      message
    }
  }
}
Variables
{"input": AddReceivedSepaDirectDebitB2bMandateInput}
Response
{
  "data": {
    "addReceivedSepaDirectDebitB2bMandate": AddReceivedSepaDirectDebitB2bMandateSuccessPayload
  }
}

addSepaDirectDebitPaymentMandate

Arguments
Name Description
input - AddSepaDirectDebitPaymentMandateInput!

Example

Query
mutation AddSepaDirectDebitPaymentMandate($input: AddSepaDirectDebitPaymentMandateInput!) {
  addSepaDirectDebitPaymentMandate(input: $input) {
    ... on AddSepaDirectDebitPaymentMandateSuccessPayload {
      paymentMandate {
        ...SEPAPaymentDirectDebitMandateFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
    ... on DebtorAccountNotAllowedRejection {
      message
    }
    ... on DebtorAccountClosedRejection {
      message
    }
    ... on SchemeWrongRejection {
      message
    }
    ... on PaymentMandateReferenceAlreadyUsedRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
    ... on PaymentMethodNotCompatibleRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": AddSepaDirectDebitPaymentMandateInput}
Response
{
  "data": {
    "addSepaDirectDebitPaymentMandate": AddSepaDirectDebitPaymentMandateSuccessPayload
  }
}

addSingleUseVirtualCard

Description

add a new Single Use Virtual Card to an account membership.

Response

Returns an AddSingleUseVirtualCardPayload!

Arguments
Name Description
input - AddSingleUseVirtualCardInput!

Example

Query
mutation AddSingleUseVirtualCard($input: AddSingleUseVirtualCardInput!) {
  addSingleUseVirtualCard(input: $input) {
    ... on AddSingleUseVirtualCardSuccessForUserPayload {
      card {
        ...CardFragment
      }
    }
    ... on AddSingleUseVirtualCardSuccessForProjectOwnerPayload {
      card {
        ...CardFragment
      }
      confidential {
        ...CardConfidentialFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardProductSuspendedRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddSingleUseVirtualCardInput}
Response
{
  "data": {
    "addSingleUseVirtualCard": AddSingleUseVirtualCardSuccessForUserPayload
  }
}

addSingleUseVirtualCards

Description

Add several single-use virtual cards

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an AddSingleUseVirtualCardsPayload!

Arguments
Name Description
input - AddSingleUseVirtualCardsInput!

Example

Query
mutation AddSingleUseVirtualCards($input: AddSingleUseVirtualCardsInput!) {
  addSingleUseVirtualCards(input: $input) {
    ... on AddSingleUseVirtualCardsSuccessPayload {
      cards {
        ...CardFragment
      }
    }
    ... on AddingCardsToDifferentAccountsRejection {
      message
    }
    ... on TooManyItemsRejection {
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardProductSuspendedRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on EnabledCardDesignNotFoundRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddSingleUseVirtualCardsInput}
Response
{
  "data": {
    "addSingleUseVirtualCards": AddSingleUseVirtualCardsSuccessPayload
  }
}

addVirtualIbanEntry

Description

Add a new Virtual IBAN.

Response

Returns an AddVirtualIbanEntryPayload

Arguments
Name Description
input - AddVirtualIbanInput

Example

Query
mutation AddVirtualIbanEntry($input: AddVirtualIbanInput) {
  addVirtualIbanEntry(input: $input) {
    ... on AddVirtualIbanEntrySuccessPayload {
      virtualIbanEntry {
        ...VirtualIBANEntryFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AddVirtualIbanInput}
Response
{
  "data": {
    "addVirtualIbanEntry": AddVirtualIbanEntrySuccessPayload
  }
}

allowSdd

Description

Allows to receive Sepa Direct Debit on an account.

Response

Returns an AllowSddPayload!

Arguments
Name Description
input - AllowSddInput!

Example

Query
mutation AllowSdd($input: AllowSddInput!) {
  allowSdd(input: $input) {
    ... on AllowSddSuccessPayload {
      account {
        ...AccountFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AllowSddInput}
Response
{"data": {"allowSdd": AllowSddSuccessPayload}}

allowSddVirtualIbanEntry

Description

Allows to receive Sepa Direct Debit on a Virtual IBAN.

Response

Returns an AllowSddVirtualIbanEntryPayload!

Arguments
Name Description
input - AllowSddVirtualIbanEntryInput!

Example

Query
mutation AllowSddVirtualIbanEntry($input: AllowSddVirtualIbanEntryInput!) {
  allowSddVirtualIbanEntry(input: $input) {
    ... on AllowSddVirtualIbanEntrySuccessPayload {
      virtualIbanEntry {
        ...VirtualIBANEntryFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": AllowSddVirtualIbanEntryInput}
Response
{
  "data": {
    "allowSddVirtualIbanEntry": AllowSddVirtualIbanEntrySuccessPayload
  }
}

bindAccountMembership

Description

Bind a user to an account membership

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

Response

Returns a BindAccountMembershipPayload!

Arguments
Name Description
input - BindAccountMembershipInput!

Example

Query
mutation BindAccountMembership($input: BindAccountMembershipInput!) {
  bindAccountMembership(input: $input) {
    ... on BindAccountMembershipSuccessPayload {
      accountMembership {
        ...AccountMembershipFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on AccountMembershipNotFoundRejection {
      id
      message
    }
    ... on AccountMembershipNotReadyToBeBoundRejection {
      id
      message
    }
    ... on IdentityAlreadyBindToAccountMembershipRejection {
      accountId
      identityId
      message
    }
    ... on RestrictedToUserRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": BindAccountMembershipInput}
Response
{
  "data": {
    "bindAccountMembership": BindAccountMembershipSuccessPayload
  }
}

cancelCard

Description

Cancel a Card

Response

Returns a CancelCardPayload!

Arguments
Name Description
input - CancelCardInput

Example

Query
mutation CancelCard($input: CancelCardInput) {
  cancelCard(input: $input) {
    ... on CancelCardSuccessPayload {
      card {
        ...CardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": CancelCardInput}
Response
{"data": {"cancelCard": CancelCardSuccessPayload}}

cancelConsent

Description

Cancels a consent.

Response

Returns a CancelConsentPayload!

Arguments
Name Description
input - CancelConsentInput!

Example

Query
mutation CancelConsent($input: CancelConsentInput!) {
  cancelConsent(input: $input) {
    ... on CancelConsentSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on ConsentNotFoundRejection {
      message
      consentId
    }
    ... on NotReachableConsentStatusRejection {
      message
      currentStatus
      unreachableStatus
    }
  }
}
Variables
{"input": CancelConsentInput}
Response
{"data": {"cancelConsent": CancelConsentSuccessPayload}}

cancelDigitalCard

Description

Cancel a Digital Card

Response

Returns a CancelDigitalCardPayload!

Arguments
Name Description
input - CancelDigitalCardInput

Example

Query
mutation CancelDigitalCard($input: CancelDigitalCardInput) {
  cancelDigitalCard(input: $input) {
    ... on CancelDigitalCardSuccessPayload {
      digitalCard {
        ...DigitalCardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on DigitalCardNotFoundRejection {
      message
      identifier
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": CancelDigitalCardInput}
Response
{
  "data": {
    "cancelDigitalCard": CancelDigitalCardSuccessPayload
  }
}

cancelFundingSource

Description

Cancel a funding source

Response

Returns a CancelFundingSourcePayload

Arguments
Name Description
input - CancelFundingSourceInput!

Example

Query
mutation CancelFundingSource($input: CancelFundingSourceInput!) {
  cancelFundingSource(input: $input) {
    ... on CancelFundingSourceSuccessPayload {
      fundingSource {
        ...FundingSourceFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
  }
}
Variables
{"input": CancelFundingSourceInput}
Response
{
  "data": {
    "cancelFundingSource": CancelFundingSourceSuccessPayload
  }
}

cancelPhysicalCard

Description

Cancel a Physical Card.

Response

Returns a CancelPhysicalCardPayload!

Arguments
Name Description
input - CancelPhysicalCardInput

Example

Query
mutation CancelPhysicalCard($input: CancelPhysicalCardInput) {
  cancelPhysicalCard(input: $input) {
    ... on CancelPhysicalCardSuccessPayload {
      physicalCard {
        ...PhysicalCardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on PhysicalCardNotFoundRejection {
      message
      identifier
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": CancelPhysicalCardInput}
Response
{
  "data": {
    "cancelPhysicalCard": CancelPhysicalCardSuccessPayload
  }
}

cancelStandingOrder

Description

Cancel a standing Order

The user must have an account membership to the account and the permission to initiate credit transfer

Response

Returns a CancelStandingOrderPayload!

Arguments
Name Description
input - CancelStandingOrderInput!

Example

Query
mutation CancelStandingOrder($input: CancelStandingOrderInput!) {
  cancelStandingOrder(input: $input) {
    ... on CancelStandingOrderSuccessPayload {
      standingOrder {
        ...StandingOrderFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on StandingOrderNotFoundRejection {
      message
    }
  }
}
Variables
{"input": CancelStandingOrderInput}
Response
{
  "data": {
    "cancelStandingOrder": CancelStandingOrderSuccessPayload
  }
}

cancelTransaction

Description

Cancels an UPCOMING credit transfer

The user must have an account membership for this account with the attribute canInitiatePayments=true.

Response

Returns a CancelTransactionPayload!

Arguments
Name Description
input - CancelTransactionInput!

Example

Query
mutation CancelTransaction($input: CancelTransactionInput!) {
  cancelTransaction(input: $input) {
    ... on CancelTransactionSuccessPayload {
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": CancelTransactionInput}
Response
{
  "data": {
    "cancelTransaction": CancelTransactionSuccessPayload
  }
}

cancelVirtualIbanEntry

Description

Cancels a Virtual IBAN.

Response

Returns a CancelVirtualIbanEntryPayload!

Arguments
Name Description
input - CancelVirtualIbanEntryInput!

Example

Query
mutation CancelVirtualIbanEntry($input: CancelVirtualIbanEntryInput!) {
  cancelVirtualIbanEntry(input: $input) {
    ... on CancelVirtualIbanEntrySuccessPayload {
      virtualIbanEntry {
        ...VirtualIBANEntryFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": CancelVirtualIbanEntryInput}
Response
{
  "data": {
    "cancelVirtualIbanEntry": CancelVirtualIbanEntrySuccessPayload
  }
}

closeAccount

Description

Closes an account.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.

The user must have a legal representative account membership for this account.

Response

Returns a CloseAccountPayload!

Arguments
Name Description
input - CloseAccountInput!

Example

Query
mutation CloseAccount($input: CloseAccountInput!) {
  closeAccount(input: $input) {
    ... on CloseAccountSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": CloseAccountInput}
Response
{"data": {"closeAccount": CloseAccountSuccessPayload}}

createCapitalDepositCase

Description

Create a capital deposit case.

This mutation is restricted to an Project access token ( Learn More).

Arguments
Name Description
input - CreateCapitalDepositCaseInput!

Example

Query
mutation CreateCapitalDepositCase($input: CreateCapitalDepositCaseInput!) {
  createCapitalDepositCase(input: $input) {
    ... on CreateCapitalDepositCaseSuccessPayload {
      capitalDepositCase {
        ...CapitalDepositCaseFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on BadRequestRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": CreateCapitalDepositCaseInput}
Response
{
  "data": {
    "createCapitalDepositCase": CreateCapitalDepositCaseSuccessPayload
  }
}

createMultiConsent

Description

Create a multi consent, which represents a consent of several other consents, executed in parallel or sequentially depending on the order input value

This mutation is restricted to a User access token ( Learn More) and ask the user to consent to this request.

Response

Returns a CreateMultiConsentPayload

Arguments
Name Description
input - CreateMultiConsentInput!

Example

Query
mutation CreateMultiConsent($input: CreateMultiConsentInput!) {
  createMultiConsent(input: $input) {
    ... on CreateMultiConsentSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on ConsentsNotAllInCreatedStatusRejection {
      message
      consentIds
    }
    ... on ConsentsNotFoundRejection {
      message
      ids
    }
    ... on TooManyChildConsentsRejection {
      message
    }
    ... on ConsentsAlreadyLinkedToMultiConsentRejection {
      message
      consentIds
    }
  }
}
Variables
{"input": CreateMultiConsentInput}
Response
{
  "data": {
    "createMultiConsent": CreateMultiConsentSuccessPayload
  }
}

deleteSupportingDocument

Description

Delete a supporting document, in case uploaded file is not what was wanted. This action can not be undone.

This mutation can only be used on an "Uploaded" supporting document of a "WaitingForDocument" supporting document collection.

This mutation is restricted to a Project access token ( Learn More)

Arguments
Name Description
input - DeleteSupportingDocumentInput!

Example

Query
mutation DeleteSupportingDocument($input: DeleteSupportingDocumentInput!) {
  deleteSupportingDocument(input: $input) {
    ... on DeleteSupportingDocumentSuccessPayload {
      id
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on SupportingDocumentCollectionNotFoundRejection {
      id
      message
    }
    ... on SupportingDocumentCollectionStatusDoesNotAllowDeletionRejection {
      message
      supportingDocumentCollectionStatus
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
    }
    ... on SupportingDocumentNotFoundRejection {
      id
      message
    }
    ... on SupportingDocumentStatusDoesNotAllowDeletionRejection {
      supportingDocument {
        ...SupportingDocumentFragment
      }
      status
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": DeleteSupportingDocumentInput}
Response
{
  "data": {
    "deleteSupportingDocument": DeleteSupportingDocumentSuccessPayload
  }
}

denySdd

Description

Allows to refuse all Sepa Direct Debit received on an account.

Response

Returns a DenySddPayload!

Arguments
Name Description
input - DenySddInput

Example

Query
mutation DenySdd($input: DenySddInput) {
  denySdd(input: $input) {
    ... on DenySddSuccessPayload {
      account {
        ...AccountFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on InvalidArgumentRejection {
      message
      code
      fields {
        ...InvalidArgumentRejectionFieldFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": DenySddInput}
Response
{"data": {"denySdd": DenySddSuccessPayload}}

denySddVirtualIbanEntry

Description

Allows to refuse all Sepa Direct Debit received on a Virtual IBAN.

Response

Returns a DenySddVirtualIbanEntryPayload!

Arguments
Name Description
input - DenySddVirtualIbanEntryInput!

Example

Query
mutation DenySddVirtualIbanEntry($input: DenySddVirtualIbanEntryInput!) {
  denySddVirtualIbanEntry(input: $input) {
    ... on DenySddVirtualIbanEntrySuccessPayload {
      virtualIbanEntry {
        ...VirtualIBANEntryFragment
      }
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": DenySddVirtualIbanEntryInput}
Response
{
  "data": {
    "denySddVirtualIbanEntry": DenySddVirtualIbanEntrySuccessPayload
  }
}

disableAccountMembership

Description

Disable an account membership

This mutation is callable with a User access token and a Project access token ( Learn More)

With a User access token, the user must have the permission to manage account membership of the account

Arguments
Name Description
input - DisableAccountMembershipInput

Example

Query
mutation DisableAccountMembership($input: DisableAccountMembershipInput) {
  disableAccountMembership(input: $input) {
    ... on DisableAccountMembershipSuccessPayload {
      accountMembership {
        ...AccountMembershipFragment
      }
    }
    ... on AccountMembershipCannotBeDisabledRejection {
      accountMembershipId
      message
    }
    ... on AccountMembershipNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on LegalRepresentativeAccountMembershipCannotBeDisabledRejection {
      accountMembershipId
      message
    }
    ... on UserNotAllowedToDisableItsOwnAccountMembershipRejection {
      accountMembershipId
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": DisableAccountMembershipInput}
Response
{
  "data": {
    "disableAccountMembership": DisableAccountMembershipSuccessPayload
  }
}

enableReceivedDirectDebitMandate

Description

Allows to enable a received mandate in the Suspended status.

For B2b received direct debit mandate, this mutation is restricted to an User access token( Learn More) and ask the user to consent to this request with the Swan app.

The user must be able to initiate payments for this account.

Arguments
Name Description
input - EnableReceivedDirectDebitMandateInput!

Example

Query
mutation EnableReceivedDirectDebitMandate($input: EnableReceivedDirectDebitMandateInput!) {
  enableReceivedDirectDebitMandate(input: $input) {
    ... on EnableReceivedDirectDebitMandateSuccessPayload {
      receivedDirectDebitMandate {
        ...ReceivedDirectDebitMandateFragment
      }
    }
    ... on ReceivedDirectDebitMandateNotFoundRejection {
      id
      message
    }
    ... on ReceivedDirectDebitMandateCanceledRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": EnableReceivedDirectDebitMandateInput}
Response
{
  "data": {
    "enableReceivedDirectDebitMandate": EnableReceivedDirectDebitMandateSuccessPayload
  }
}

finalizeOnboarding

Description

Finalize an onboarding led to the opening of a new account for your client, who thus become the account holder.

This mutation is restricted to an User access token ( Learn More).

Response

Returns a FinalizeOnboardingPayload!

Arguments
Name Description
input - FinalizeOnboardingInput!

Example

Query
mutation FinalizeOnboarding($input: FinalizeOnboardingInput!) {
  finalizeOnboarding(input: $input) {
    ... on FinalizeOnboardingSuccessPayload {
      onboarding {
        ...OnboardingFragment
      }
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on OnboardingNotCompletedRejection {
      message
      onboardingId
      onboarding {
        ...OnboardingFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": FinalizeOnboardingInput}
Response
{
  "data": {
    "finalizeOnboarding": FinalizeOnboardingSuccessPayload
  }
}

generateAccountStatement

Description

Generate an account statement

Response

Returns a Statement!

Arguments
Name Description
input - GenerateAccountStatementInput!

Example

Query
mutation GenerateAccountStatement($input: GenerateAccountStatementInput!) {
  generateAccountStatement(input: $input) {
    id
    account {
      id
      number
      name
      holder {
        ...AccountHolderFragment
      }
      cashAccountType
      country
      paymentLevel
      BIC
      IBAN
      currency
      blockSDD
      statusInfo {
        ...AccountStatusInfoFragment
      }
      partnershipStatusInfo {
        ...PartnershipStatusInfoFragment
      }
      createdAt
      updatedAt
      virtualIbanEntries {
        ...VirtualIBANEntryConnectionFragment
      }
      memberships {
        ...AccountMembershipConnectionFragment
      }
      requiredConsentToFetchNewTransactions
      language
      legalRepresentativeMembership {
        ...AccountMembershipFragment
      }
      paymentAccountType
      upgradedAt
      bankDetails
      legalDocuments {
        ...LegalDocumentConnectionFragment
      }
      balances {
        ...AccountBalancesFragment
      }
      statements {
        ...StatementConnectionFragment
      }
      transactions {
        ...TransactionConnectionFragment
      }
      invoices {
        ...InvoiceConnectionFragment
      }
      receivedDirectDebitMandates {
        ...ReceivedDirectDebitMandateConnectionFragment
      }
      standingOrders {
        ...StandingOrderConnectionFragment
      }
      fundingSources {
        ...FundingSourceConnectionFragment
      }
      merchantProfiles {
        ...MerchantProfileConnectionFragment
      }
    }
    openingBalance {
      currency
      value
    }
    closingBalance {
      currency
      value
    }
    openingDate
    closingDate
    status
    period
    totalCredits {
      currency
      value
    }
    totalDebits {
      currency
      value
    }
    fees {
      currency
      value
    }
    type {
      type
    }
    createdAt
    updatedAt
  }
}
Variables
{"input": GenerateAccountStatementInput}
Response
{
  "data": {
    "generateAccountStatement": {
      "id": "4",
      "account": Account,
      "openingBalance": Amount,
      "closingBalance": Amount,
      "openingDate": "2007-12-03T10:15:30Z",
      "closingDate": "2007-12-03T10:15:30Z",
      "status": "Available",
      "period": "Monthly",
      "totalCredits": Amount,
      "totalDebits": Amount,
      "fees": Amount,
      "type": [StatementInfo],
      "createdAt": "2007-12-03T10:15:30Z",
      "updatedAt": "2007-12-03T10:15:30Z"
    }
  }
}

generateCapitalDepositDocumentUploadUrl

Description

Generate an url allowing the upload of a document which unique identifier is specified in parameters.

This mutation is restricted to an Project access token ( Learn More).

Example

Query
mutation GenerateCapitalDepositDocumentUploadUrl($input: GenerateCapitalDepositDocumentUploadUrlInput!) {
  generateCapitalDepositDocumentUploadUrl(input: $input) {
    ... on GenerateCapitalDepositDocumentUploadUrlSuccessPayload {
      uploadUrl
    }
    ... on CapitalDepositDocumentCanNotBeUploaded {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on BadRequestRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": GenerateCapitalDepositDocumentUploadUrlInput}
Response
{
  "data": {
    "generateCapitalDepositDocumentUploadUrl": GenerateCapitalDepositDocumentUploadUrlSuccessPayload
  }
}

generateSupportingDocumentUploadUrl

Description

Generate and return a presigned URL to upload a unique file for the supporting document collection

This mutation is restricted to a Project access token ( Learn More)

Arguments
Name Description
input - GenerateSupportingDocumentUploadUrlInput!

Example

Query
mutation GenerateSupportingDocumentUploadUrl($input: GenerateSupportingDocumentUploadUrlInput!) {
  generateSupportingDocumentUploadUrl(input: $input) {
    ... on GenerateSupportingDocumentUploadUrlSuccessPayload {
      supportingDocumentId
      upload {
        ...SupportingDocumentUploadInfoFragment
      }
    }
    ... on SupportingDocumentCollectionNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on SupportingDocumentUploadNotAllowedRejection {
      supportingDocumentCollectionStatus
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": GenerateSupportingDocumentUploadUrlInput}
Response
{
  "data": {
    "generateSupportingDocumentUploadUrl": GenerateSupportingDocumentUploadUrlSuccessPayload
  }
}

grantConsentWithServerSignature

Description

Grant consent with a server signature

Arguments
Name Description
input - GrantConsentWithServerSignatureInput!

Example

Query
mutation GrantConsentWithServerSignature($input: GrantConsentWithServerSignatureInput!) {
  grantConsentWithServerSignature(input: $input) {
    ... on GrantConsentWithServerSignatureSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on ConsentNotFoundRejection {
      message
      consentId
    }
    ... on NotReachableConsentStatusRejection {
      message
      currentStatus
      unreachableStatus
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ConsentTypeNotSupportedByServerConsentRejection {
      message
    }
    ... on ServerConsentNotAllowedForConsentOperationRejection {
      message
    }
    ... on ProjectNotFoundRejection {
      message
    }
    ... on ServerConsentNotAllowedForProjectRejection {
      message
    }
    ... on ServerConsentProjectSettingsNotFoundRejection {
      message
    }
    ... on ServerConsentProjectCredentialMissingRejection {
      message
    }
    ... on ServerConsentProjectCredentialNotFoundRejection {
      message
    }
    ... on ServerConsentCredentialsNotValidOrOutdatedRejection {
      message
    }
    ... on ServerConsentSignatureNotValidRejection {
      message
    }
  }
}
Variables
{"input": GrantConsentWithServerSignatureInput}
Response
{
  "data": {
    "grantConsentWithServerSignature": GrantConsentWithServerSignatureSuccessPayload
  }
}

initiateCreditTransfers

Description

Initiates a credit transfer to an other Swan account or to an IBAN

This mutation is restricted to an User access token ( Learn More) and if necessary ask the user to consent to this request.

The user must have an account membership for this account with the attribute canInitiatePayments=true.

Response

Returns an InitiateCreditTransfersPayload!

Arguments
Name Description
input - InitiateCreditTransfersInput!

Example

Query
mutation InitiateCreditTransfers($input: InitiateCreditTransfersInput!) {
  initiateCreditTransfers(input: $input) {
    ... on InitiateCreditTransfersSuccessPayload {
      payment {
        ...PaymentFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": InitiateCreditTransfersInput}
Response
{
  "data": {
    "initiateCreditTransfers": InitiateCreditTransfersSuccessPayload
  }
}

initiateFundingRequest

Description

Initiate a funding request. This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request. The user must have an account membership for this account with the attribute canInitiateCreditTransfer=true.

Response

Returns an InitiateFundingRequestPayload

Arguments
Name Description
input - InitiateFundingRequestInput!

Example

Query
mutation InitiateFundingRequest($input: InitiateFundingRequestInput!) {
  initiateFundingRequest(input: $input) {
    ... on InitiateFundingRequestSuccessPayload {
      payment {
        ...PaymentFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
    ... on FundingLimitExceededRejection {
      message
    }
    ... on ProjectFundingLimitExceededRejection {
      message
    }
    ... on GlobalFundingLimitExceededRejection {
      message
    }
    ... on FundingSourceWrongStatusRejection {
      message
      currentStatus
      expectedStatus
    }
    ... on FundingSourceNotFoundRejection {
      id
      message
    }
    ... on InsufficientFundsRejection {
      message
    }
    ... on InstantFundingLimitExceededRejection {
      message
    }
    ... on ProjectInstantFundingLimitExceededRejection {
      message
    }
    ... on GlobalInstantFundingLimitExceededRejection {
      message
    }
    ... on AccountVerificationWrongStatusRejection {
      message
    }
  }
}
Variables
{"input": InitiateFundingRequestInput}
Response
{
  "data": {
    "initiateFundingRequest": InitiateFundingRequestSuccessPayload
  }
}

initiateInternationalCreditTransfer

Description

COMING SOON Create an international transfer

Example

Query
mutation InitiateInternationalCreditTransfer($input: InitiateInternationalCreditTransferInput!) {
  initiateInternationalCreditTransfer(input: $input) {
    ... on InitiateInternationalCreditTransferResponseSuccessPayload {
      payment {
        ...PaymentFragment
      }
      rate
      source {
        ...AmountFragment
      }
      target {
        ...AmountFragment
      }
      fees {
        ...AmountFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": InitiateInternationalCreditTransferInput}
Response
{
  "data": {
    "initiateInternationalCreditTransfer": InitiateInternationalCreditTransferResponseSuccessPayload
  }
}

initiateMerchantPaymentCollection

Arguments
Name Description
input - InitiateMerchantPaymentCollectionInput!

Example

Query
mutation InitiateMerchantPaymentCollection($input: InitiateMerchantPaymentCollectionInput!) {
  initiateMerchantPaymentCollection(input: $input) {
    ... on InitiateMerchantPaymentCollectionSuccessPayload {
      merchantPaymentCollection {
        ...PaymentFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": InitiateMerchantPaymentCollectionInput}
Response
{
  "data": {
    "initiateMerchantPaymentCollection": InitiateMerchantPaymentCollectionSuccessPayload
  }
}

onboardCompanyAccountHolder

Description

Creates an onboarding for a new company account holder.

This mutation is restricted to a Project access token ( Learn More)

Arguments
Name Description
input - OnboardCompanyAccountHolderInput

Example

Query
mutation OnboardCompanyAccountHolder($input: OnboardCompanyAccountHolderInput) {
  onboardCompanyAccountHolder(input: $input) {
    ... on OnboardCompanyAccountHolderSuccessPayload {
      onboarding {
        ...OnboardingFragment
      }
    }
    ... on BadRequestRejection {
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": OnboardCompanyAccountHolderInput}
Response
{
  "data": {
    "onboardCompanyAccountHolder": OnboardCompanyAccountHolderSuccessPayload
  }
}

onboardIndividualAccountHolder

Description

Creates an onboarding for a new individual account holder.

This mutation is restricted to a Project access token ( Learn More)

Arguments
Name Description
input - OnboardIndividualAccountHolderInput

Example

Query
mutation OnboardIndividualAccountHolder($input: OnboardIndividualAccountHolderInput) {
  onboardIndividualAccountHolder(input: $input) {
    ... on OnboardIndividualAccountHolderSuccessPayload {
      onboarding {
        ...OnboardingFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": OnboardIndividualAccountHolderInput}
Response
{
  "data": {
    "onboardIndividualAccountHolder": OnboardIndividualAccountHolderSuccessPayload
  }
}

printPhysicalCard

Description

Print Physical Card.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

Response

Returns a PrintPhysicalCardPayload!

Arguments
Name Description
input - PrintPhysicalCardInput!

Example

Query
mutation PrintPhysicalCard($input: PrintPhysicalCardInput!) {
  printPhysicalCard(input: $input) {
    ... on PrintPhysicalCardSuccessPayload {
      physicalCard {
        ...PhysicalCardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on AlreadyValidPhysicalCardRejection {
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on BadRequestRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on CardProductNotApplicableToPhysicalCardsRejection {
      message
    }
    ... on CardProductDisabledRejection {
      message
    }
    ... on MissingMandatoryFieldRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": PrintPhysicalCardInput}
Response
{
  "data": {
    "printPhysicalCard": PrintPhysicalCardSuccessPayload
  }
}

refund

Description

initiates a refund for a list of booked transaction

This mutation is restricted to an User access token ( Learn More) and if necessary ask the user to consent to this request.

The user must have an account membership on the accounts that are beneficiary of the transaction with the attribute canInitiatePayments=true.

Response

Returns a RefundPayload!

Arguments
Name Description
input - RefundInput!

Example

Query
mutation Refund($input: RefundInput!) {
  refund(input: $input) {
    ... on RefundSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on RefundRejection {
      message
      code
    }
  }
}
Variables
{"input": RefundInput}
Response
{"data": {"refund": RefundSuccessPayload}}

requestMerchantPaymentMethods

Description

Request merchant payment methods for a merchant profile

Arguments
Name Description
input - RequestMerchantPaymentMethodsInput!

Example

Query
mutation RequestMerchantPaymentMethods($input: RequestMerchantPaymentMethodsInput!) {
  requestMerchantPaymentMethods(input: $input) {
    ... on RequestMerchantPaymentMethodsSuccessPayload {
      merchantProfile {
        ...MerchantProfileFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on NotFoundRejection {
      id
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": RequestMerchantPaymentMethodsInput}
Response
{
  "data": {
    "requestMerchantPaymentMethods": RequestMerchantPaymentMethodsSuccessPayload
  }
}

requestMerchantProfileUpdate

Description

Request an update of a MerchantProfile

Arguments
Name Description
input - RequestMerchantProfileUpdateInput!

Example

Query
mutation RequestMerchantProfileUpdate($input: RequestMerchantProfileUpdateInput!) {
  requestMerchantProfileUpdate(input: $input) {
    ... on RequestMerchantProfileUpdateSuccessPayload {
      requestMerchantProfileUpdate {
        ...RequestMerchantProfileUpdateFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on InternalErrorRejection {
      message
    }
  }
}
Variables
{"input": RequestMerchantProfileUpdateInput}
Response
{
  "data": {
    "requestMerchantProfileUpdate": RequestMerchantProfileUpdateSuccessPayload
  }
}

requestSupportingDocumentCollectionReview

Description

Ask for Swan's compliance team to review given supporting document collection.

This mutation is restricted to a Project access token ( Learn More)

Example

Query
mutation RequestSupportingDocumentCollectionReview($input: RequestSupportingDocumentCollectionReviewInput) {
  requestSupportingDocumentCollectionReview(input: $input) {
    ... on RequestSupportingDocumentCollectionReviewSuccessPayload {
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on SupportingDocumentCollectionNotFoundRejection {
      id
      message
    }
    ... on SupportingDocumentCollectionStatusNotAllowedRejection {
      oldStatus
      newStatus
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": RequestSupportingDocumentCollectionReviewInput}
Response
{
  "data": {
    "requestSupportingDocumentCollectionReview": RequestSupportingDocumentCollectionReviewSuccessPayload
  }
}

resumeAccountMembership

Description

Resumes an account membership already suspended.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns a ResumeAccountMembershipPayload!

Arguments
Name Description
input - ResumeAccountMembershipInput

Example

Query
mutation ResumeAccountMembership($input: ResumeAccountMembershipInput) {
  resumeAccountMembership(input: $input) {
    ... on ResumeAccountMembershipSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on UserNotAllowedToManageAccountMembershipRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ResumeAccountMembershipInput}
Response
{
  "data": {
    "resumeAccountMembership": ResumeAccountMembershipSuccessPayload
  }
}

resumePhysicalCard

Description

Resume a Physical Card.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have the account membership for this card

Response

Returns a ResumePhysicalCardPayload!

Arguments
Name Description
input - ResumePhysicalCardInput

Example

Query
mutation ResumePhysicalCard($input: ResumePhysicalCardInput) {
  resumePhysicalCard(input: $input) {
    ... on ResumePhysicalCardSuccessPayload {
      physicalCard {
        ...PhysicalCardFragment
      }
      consent {
        ...ConsentFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on PhysicalCardNotFoundRejection {
      message
      identifier
    }
    ... on PhysicalCardWrongStatusRejection {
      message
      identifier
      currentStatus
      expectedStatus
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ResumePhysicalCardInput}
Response
{
  "data": {
    "resumePhysicalCard": ResumePhysicalCardSuccessPayload
  }
}

scheduleStandingOrder

Description

Schedule a standing Order

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership to the account and the permission to initiate credit transfer

Response

Returns a ScheduleStandingOrderPayload!

Arguments
Name Description
input - ScheduleStandingOrderInput!

Example

Query
mutation ScheduleStandingOrder($input: ScheduleStandingOrderInput!) {
  scheduleStandingOrder(input: $input) {
    ... on ScheduleStandingOrderSuccessPayload {
      standingOrder {
        ...StandingOrderFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on InvalidArgumentRejection {
      message
      code
      fields {
        ...InvalidArgumentRejectionFieldFragment
      }
    }
  }
}
Variables
{"input": ScheduleStandingOrderInput}
Response
{
  "data": {
    "scheduleStandingOrder": ScheduleStandingOrderSuccessPayload
  }
}

suspendAccountMembership

Description

Suspends an account membership.

*This mutation is restricted to an User access token ( Learn More).

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Arguments
Name Description
input - SuspendAccountMembershipInput!

Example

Query
mutation SuspendAccountMembership($input: SuspendAccountMembershipInput!) {
  suspendAccountMembership(input: $input) {
    ... on SuspendAccountMembershipSuccessPayload {
      accountMembership {
        ...AccountMembershipFragment
      }
    }
    ... on InternalErrorRejection {
      message
    }
    ... on LegalRepresentativeAccountMembershipCannotBeSuspendedRejection {
      id
      message
    }
    ... on UserNotAllowedToManageAccountMembershipRejection {
      message
    }
    ... on UserNotAllowedToSuspendItsOwnAccountMembershipRejection {
      accountMembershipId
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": SuspendAccountMembershipInput}
Response
{
  "data": {
    "suspendAccountMembership": SuspendAccountMembershipSuccessPayload
  }
}

suspendPhysicalCard

Description

Suspend a Physical Card.

Response

Returns a SuspendPhysicalCardPayload!

Arguments
Name Description
input - SuspendPhysicalCardInput

Example

Query
mutation SuspendPhysicalCard($input: SuspendPhysicalCardInput) {
  suspendPhysicalCard(input: $input) {
    ... on SuspendPhysicalCardSuccessPayload {
      physicalCard {
        ...PhysicalCardFragment
      }
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on PhysicalCardNotFoundRejection {
      message
      identifier
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": SuspendPhysicalCardInput}
Response
{
  "data": {
    "suspendPhysicalCard": SuspendPhysicalCardSuccessPayload
  }
}

suspendReceivedDirectDebitMandate

Description

Allows to suspend a received direct debit mandate in the Enabled status.

The user must be able to initiate payments for this account.

Arguments
Name Description
input - SuspendReceivedDirectDebitMandateInput!

Example

Query
mutation SuspendReceivedDirectDebitMandate($input: SuspendReceivedDirectDebitMandateInput!) {
  suspendReceivedDirectDebitMandate(input: $input) {
    ... on SuspendReceivedDirectDebitMandateSuccessPayload {
      receivedDirectDebitMandate {
        ...ReceivedDirectDebitMandateFragment
      }
    }
    ... on SuspendReceivedDirectDebitMandatedRejection {
      message
      reason
    }
    ... on ReceivedDirectDebitMandateNotFoundRejection {
      id
      message
    }
    ... on ReceivedDirectDebitMandateCanceledRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
  }
}
Variables
{"input": SuspendReceivedDirectDebitMandateInput}
Response
{
  "data": {
    "suspendReceivedDirectDebitMandate": SuspendReceivedDirectDebitMandateSuccessPayload
  }
}

updateAccount

Description

Update an account.

Response

Returns an UpdateAccountPayload!

Arguments
Name Description
input - UpdateAccountInput!

Example

Query
mutation UpdateAccount($input: UpdateAccountInput!) {
  updateAccount(input: $input) {
    ... on UpdateAccountSuccessPayload {
      account {
        ...AccountFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on BadAccountStatusRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateAccountInput}
Response
{"data": {"updateAccount": UpdateAccountSuccessPayload}}

updateAccountHolder

Response

Returns an UpdateAccountHolderPayload!

Arguments
Name Description
input - UpdateAccountHolderInput!

Example

Query
mutation UpdateAccountHolder($input: UpdateAccountHolderInput!) {
  updateAccountHolder(input: $input) {
    ... on UpdateAccountHolderSuccessPayload {
      accountHolder {
        ...AccountHolderFragment
      }
    }
    ... on AccountHolderNotFoundRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateAccountHolderInput}
Response
{
  "data": {
    "updateAccountHolder": UpdateAccountHolderSuccessPayload
  }
}

updateAccountMembership

Description

Updates an account membership.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have an account membership for this account with the attribute canManageAccountMembership=true.

Response

Returns an UpdateAccountMembershipPayload!

Arguments
Name Description
input - UpdateAccountMembershipInput!

Example

Query
mutation UpdateAccountMembership($input: UpdateAccountMembershipInput!) {
  updateAccountMembership(input: $input) {
    ... on UpdateAccountMembershipSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on AccountMembershipCannotBeUpdatedRejection {
      id
      message
    }
    ... on AccountMembershipNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InvalidPhoneNumberRejection {
      message
    }
    ... on PermissionCannotBeGrantedRejection {
      message
    }
    ... on UserNotAllowedToManageAccountMembershipRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateAccountMembershipInput}
Response
{
  "data": {
    "updateAccountMembership": UpdateAccountMembershipSuccessPayload
  }
}

updateCard

Description

Update a Card.

Response

Returns an UpdateCardPayload

Arguments
Name Description
input - UpdateCardInput

Example

Query
mutation UpdateCard($input: UpdateCardInput) {
  updateCard(input: $input) {
    ... on UpdateCardSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on AccountNotFoundRejection {
      id
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on AccountMembershipNotAllowedRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateCardInput}
Response
{"data": {"updateCard": UpdateCardSuccessPayload}}

updateCompanyOnboarding

Description

Updates a company onboarding.

If you aim to update Ultimate Beneficiary Owners, you need to provide all of them as they are going to be overridden by your update payload.

This mutation is restricted to a Project access token ( Learn More)

Response

Returns an UpdateCompanyOnboardingPayload!

Arguments
Name Description
input - UpdateCompanyOnboardingInput

Example

Query
mutation UpdateCompanyOnboarding($input: UpdateCompanyOnboardingInput) {
  updateCompanyOnboarding(input: $input) {
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on UpdateCompanyOnboardingSuccessPayload {
      onboarding {
        ...OnboardingInfoFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateCompanyOnboardingInput}
Response
{"data": {"updateCompanyOnboarding": ForbiddenRejection}}

updateIndividualOnboarding

Description

Updates an individual onboarding.

This mutation is restricted to a Project access token ( Learn More)

Arguments
Name Description
input - UpdateIndividualOnboardingInput!

Example

Query
mutation UpdateIndividualOnboarding($input: UpdateIndividualOnboardingInput!) {
  updateIndividualOnboarding(input: $input) {
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on UpdateIndividualOnboardingSuccessPayload {
      onboarding {
        ...OnboardingInfoFragment
      }
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateIndividualOnboardingInput}
Response
{
  "data": {
    "updateIndividualOnboarding": ForbiddenRejection
  }
}

updateReceivedSepaDirectDebitB2bMandate

Description

Allows to update a received sepa direct debit mandate B2b.

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request with the Swan app.

The user must be able to initiate payments for this account.

Example

Query
mutation UpdateReceivedSepaDirectDebitB2bMandate($input: UpdateReceivedSepaDirectDebitB2bMandateInput!) {
  updateReceivedSepaDirectDebitB2bMandate(input: $input) {
    ... on UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload {
      receivedDirectDebitMandate {
        ...ReceivedDirectDebitMandateFragment
      }
    }
    ... on ReceivedDirectDebitMandateNotFoundRejection {
      id
      message
    }
    ... on ForbiddenRejection {
      message
    }
    ... on ReceivedDirectDebitMandateAlreadyExistRejection {
      id
      message
    }
    ... on ReceivedDirectDebitMandateNotB2bRejection {
      id
      message
    }
  }
}
Variables
{"input": UpdateReceivedSepaDirectDebitB2bMandateInput}
Response
{
  "data": {
    "updateReceivedSepaDirectDebitB2bMandate": UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload
  }
}

updateSupportingDocument

Response

Returns an UpdateSupportingDocumentPayload!

Arguments
Name Description
input - UpdateSupportingDocumentInput!

Example

Query
mutation UpdateSupportingDocument($input: UpdateSupportingDocumentInput!) {
  updateSupportingDocument(input: $input) {
    ... on UpdateSupportingDocumentSuccessPayload {
      supportingDocument {
        ...SupportingDocumentFragment
      }
    }
    ... on ForbiddenRejection {
      message
    }
    ... on InternalErrorRejection {
      message
    }
    ... on SupportingDocumentCollectionNotFoundRejection {
      id
      message
    }
    ... on SupportingDocumentCollectionStatusDoesNotAllowUpdateRejection {
      message
      supportingDocumentCollectionStatus
      supportingDocumentCollection {
        ...SupportingDocumentCollectionFragment
      }
    }
    ... on SupportingDocumentNotFoundRejection {
      id
      message
    }
    ... on SupportingDocumentStatusDoesNotAllowUpdateRejection {
      supportingDocument {
        ...SupportingDocumentFragment
      }
      status
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": UpdateSupportingDocumentInput}
Response
{
  "data": {
    "updateSupportingDocument": UpdateSupportingDocumentSuccessPayload
  }
}

updateUserConsentSettings

Description

Updates user preferred consent notification channel.

This mutation is restricted to a Project access token ( Learn More)

Response

Returns an UpdateUserConsentSettingsPayload!

Arguments
Name Description
input - UpdateUserConsentSettingsInput!

Example

Query
mutation UpdateUserConsentSettings($input: UpdateUserConsentSettingsInput!) {
  updateUserConsentSettings(input: $input) {
    ... on UpdateUserConsentSettingsSuccessPayload {
      userConsentSettings {
        ...UserConsentSettingsFragment
      }
    }
    ... on UpdateUserConsentSettingsTokenRejection {
      message
    }
  }
}
Variables
{"input": UpdateUserConsentSettingsInput}
Response
{
  "data": {
    "updateUserConsentSettings": UpdateUserConsentSettingsSuccessPayload
  }
}

viewCardNumbers

Description

Reveal the card numbers in the consent page once consent has been given by the cardholder

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have the account membership for this card

Response

Returns a ViewCardNumbersPayload!

Arguments
Name Description
input - ViewCardNumbersInput!

Example

Query
mutation ViewCardNumbers($input: ViewCardNumbersInput!) {
  viewCardNumbers(input: $input) {
    ... on ViewCardNumbersSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ViewCardNumbersInput}
Response
{
  "data": {
    "viewCardNumbers": ViewCardNumbersSuccessPayload
  }
}

viewPhysicalCardNumbers

Description

Reveal the physical card numbers in the consent page once consent has been given by the cardholder

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have the account membership for this card

Response

Returns a ViewPhysicalCardNumbersPayload!

Arguments
Name Description
input - ViewPhysicalCardNumbersInput!

Example

Query
mutation ViewPhysicalCardNumbers($input: ViewPhysicalCardNumbersInput!) {
  viewPhysicalCardNumbers(input: $input) {
    ... on ViewPhysicalCardNumbersSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ViewPhysicalCardNumbersInput}
Response
{
  "data": {
    "viewPhysicalCardNumbers": ViewPhysicalCardNumbersSuccessPayload
  }
}

viewPhysicalCardPin

Description

Reveal the PIN code on Swan app after his consent

This mutation is restricted to an User access token ( Learn More) and ask the user to consent to this request.

The user must have the account membership for this card

Response

Returns a ViewPhysicalCardPinPayload!

Arguments
Name Description
input - ViewPhysicalCardPinInput!

Example

Query
mutation ViewPhysicalCardPin($input: ViewPhysicalCardPinInput!) {
  viewPhysicalCardPin(input: $input) {
    ... on ViewPhysicalCardPinSuccessPayload {
      consent {
        ...ConsentFragment
      }
    }
    ... on CardNotFoundRejection {
      id
      message
    }
    ... on PhysicalCardNotFoundRejection {
      message
      identifier
    }
    ... on PINNotReadyRejection {
      physicalCardIdentifier
      message
    }
    ... on UserNotCardHolderRejection {
      message
    }
    ... on ValidationRejection {
      fields {
        ...ValidationFieldErrorFragment
      }
      message
    }
  }
}
Variables
{"input": ViewPhysicalCardPinInput}
Response
{
  "data": {
    "viewPhysicalCardPin": ViewPhysicalCardPinSuccessPayload
  }
}

Types

Account

Description

Whether you call it a wallet, monetary account, payment account or bank account, the notion of account is fundamental at Swan. All payment flows necessarily go through an account.

Fields
Field Name Description
id - ID! Unique identifier of an account
number - AccountNumber! Unique account number
name - String! Account name
holder - AccountHolder! Account holder
cashAccountType - CashAccountType! Cash account type
country - AccountCountry! Country of the account
paymentLevel - PaymentLevel! Payment level
BIC - BIC! Bank Identifier Code Only if the account membership has canViewAccount=true & this account has paymentLevel=Unlimited
IBAN - IBAN International Bank Account Number Only if the account membership has canViewAccount=true & this account has paymentLevel=Unlimited
currency - Currency! Currency
blockSDD - Boolean true if the main IBAN refuses all Sepa Direct Debit received
statusInfo - AccountStatusInfo! Status of the account
partnershipStatusInfo - PartnershipStatusInfo Partnership status
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
virtualIbanEntries - VirtualIBANEntryConnection! List of Virtual IBAN
Arguments
first - Int!
before - String
after - String
memberships - AccountMembershipConnection! List of account membership for this account
Arguments
first - Int!
before - String
after - String
requiredConsentToFetchNewTransactions - Boolean! trueif a consent is required to fetch new transactions
language - AccountLanguage! Language used for account statements
legalRepresentativeMembership - AccountMembership! Legal representative account membership
paymentAccountType - PaymentAccountType! Type of the account : EMoney if account holder has not finished the KYC requirements, PaymentService otherwise
upgradedAt - DateTime Date of the account going from eMoney to PaymentService
bankDetails - String COMING SOON Link to the account's bank details
legalDocuments - LegalDocumentConnection COMING SOON Legal Documents linked to the account
Arguments
first - Int!
after - String
balances - AccountBalances A list of balances regarding an account.
statements - StatementConnection A list of statements of an account. The list is ordered by lastUpdateAt
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - StatementFiltersInput

When the list of elements needs to be filtered

transactions - TransactionConnection A list of transactions of an account.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

orderBy - TransactionsOrderByInput

When the list of elements needs to be sorted (default value UpdatedAt desc)

invoices - InvoiceConnection A list of invoices of an account. The list is ordered by creation date (from newest to oldest)
Arguments
first - Int!

number of elements in the list (default value 10)

after - String

When the list of elements needs to start after an element

receivedDirectDebitMandates - ReceivedDirectDebitMandateConnection A list of receive Direct Mandates of an account.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

orderBy - AccountReceivedDirectDebitOrderByInput

When the list of elements needs to be ordered

filters - AccountReceivedDirectDebitMandateFiltersInput

When the list of elements needs to be filtered

standingOrders - StandingOrderConnection! A list of standing orders regarding an account.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

offset - Int

When the list of elements needs to start at a specific offset

orderBy - AccountStandingOrderOrderByInput

When the list of elements needs to be ordered

filters - AccountStandingOrderFiltersInput

When the list of elements needs to be filtered

fundingSources - FundingSourceConnection List of funding source created on the account
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

orderBy - FundingSourceOrderByInput

When the list of elements needs to be ordered

filters - FundingSourceFiltersInput

When the list of elements needs to be filtered

merchantProfiles - MerchantProfileConnection List of merchant profiles created on the account
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

orderBy - MerchantProfileOrderByInput

When the list of elements needs to be ordered

filters - MerchantProfileFiltersInput

When the list of elements needs to be filtered

Example
{
  "id": 4,
  "number": "000000012345",
  "name": "xyz789",
  "holder": AccountHolder,
  "cashAccountType": "Current",
  "country": "FRA",
  "paymentLevel": "Limited",
  "BIC": BIC,
  "IBAN": "NL55INGB4789170233",
  "currency": "USD",
  "blockSDD": true,
  "statusInfo": AccountStatusInfo,
  "partnershipStatusInfo": PartnershipStatusInfo,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "virtualIbanEntries": VirtualIBANEntryConnection,
  "memberships": AccountMembershipConnection,
  "requiredConsentToFetchNewTransactions": false,
  "language": "de",
  "legalRepresentativeMembership": AccountMembership,
  "paymentAccountType": "EMoney",
  "upgradedAt": "2007-12-03T10:15:30Z",
  "bankDetails": "abc123",
  "legalDocuments": LegalDocumentConnection,
  "balances": AccountBalances,
  "statements": StatementConnection,
  "transactions": TransactionConnection,
  "invoices": InvoiceConnection,
  "receivedDirectDebitMandates": ReceivedDirectDebitMandateConnection,
  "standingOrders": StandingOrderConnection,
  "fundingSources": FundingSourceConnection,
  "merchantProfiles": MerchantProfileConnection
}

AccountBalances

Description

A list of balances regarding an account.

Fields
Field Name Description
available - Amount! Balance composed of booked, pending transactions and rolling reserve used known at the time of calculation.
pending - Amount! Balance just composed of pending transactions.
booked - Amount! Balance just composed of booked transactions.
reserved - Amount! Balance just composed of rolling reserve used in booked transactions.
Example
{
  "available": Amount,
  "pending": Amount,
  "booked": Amount,
  "reserved": Amount
}

AccountClosedStatus

Description

Account Closed status information

Fields
Field Name Description
status - AccountStatus! Account status (always Closed for type AccountClosedStatus)
reason - String! Reason why the account is suspended @Deprecated
reasonInfo - CloseAccountStatusReason! Reason why the account is currently closed
Example
{
  "status": "Opened",
  "reason": "xyz789",
  "reasonInfo": CloseAccountReason
}

AccountClosingStatus

Description

Account Closing status information

Fields
Field Name Description
status - AccountStatus! Account status (always Closing for type AccountClosingStatus)
reason - String! Reason why the account is suspended @Deprecated
reasonInfo - CloseAccountStatusReason! Reason why the account is currently in closing
Example
{
  "status": "Opened",
  "reason": "abc123",
  "reasonInfo": CloseAccountReason
}

AccountConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [AccountEdge!]! AccountEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [AccountEdge]
}

AccountCountry

Description

Refers to the country of the account. It will determine the country code of the local IBAN of the account.

Available Account Country: CCA3

Values
Enum Value Description

FRA

French account with a French IBAN, starting with FR.

DEU

German account with a German IBAN, starting with DE.

ESP

Spanish account with a Spanish IBAN, starting with ES.

NLD

Dutch account with a Dutch IBAN, starting with DU. COMING SOON
Example
"FRA"

AccountEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - Account! The account
Example
{
  "cursor": "xyz789",
  "node": Account
}

AccountFilterInput

Fields
Input Field Description
status - [AccountStatus!]

Account Status we want to filter on

paymentLevels - [PaymentLevel!]

Account Payment Levels we want to filter on

search - String

Searches name, account number, and IBAN

Example
{
  "status": ["Opened"],
  "paymentLevels": ["Limited"],
  "search": "abc123"
}

AccountHolder

Description

The account holder is the person who owns the money stored in the account. The account holder can be one of your customers, whether it is a natural person or a legal person, or quite simply you.

Fields
Field Name Description
id - ID! Unique identifier of the account holder.
verificationStatus - VerificationStatus! Verification status. Banking regulations require financial institutions such as Swan to know and verify their customers in order to comply with their anti-money laundering and terrorist financing obligations. In banking jargon, we talk about KYC (Know Your Customers) procedure
info - AccountHolderInfo! Account holder type information.
statusInfo - AccountHolderStatusInfo Account holder status information.
residencyAddress - AddressInfo! Residency address.
createdDate - DateTime! Created date.
updatedDate - DateTime! Updated date.
accounts - AccountConnection! List of accounts owned by the account holder.
Arguments
after - String
before - String
first - Int!
supportingDocumentCollections - SupportingDocumentCollectionConnection! List of supporting document collection for an account holder
Arguments
first - Int!
before - String
after - String
fundingLimitSettingsChangeRequests - FundingLimitSettingsChangeRequestConnection! COMING SOON List of funding limit settings change request for an account holder
Arguments
first - Int!
before - String
after - String
onboarding - Onboarding Account holder onboarding
externalAccounts - ExternalAccountConnection! List of external account owned by the account holder
Arguments
first - Int!
before - String
after - String
paymentMandates - PaymentMandateConnection A list of Payment Mandates for an account holder.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

orderBy - PaymentMandateOrderByInput

When the list of elements needs to be ordered, by default, the list will be ordered by the latest updated Payment Mandate

filters - PaymentMandateFiltersInput

When the list of elements needs to be filtered

fundingLimitSettings - FundingLimitSettings Funding limit settings
Example
{
  "id": 4,
  "verificationStatus": "NotStarted",
  "info": AccountHolderInfo,
  "statusInfo": AccountHolderStatusInfo,
  "residencyAddress": AddressInfo,
  "createdDate": "2007-12-03T10:15:30Z",
  "updatedDate": "2007-12-03T10:15:30Z",
  "accounts": AccountConnection,
  "supportingDocumentCollections": SupportingDocumentCollectionConnection,
  "fundingLimitSettingsChangeRequests": FundingLimitSettingsChangeRequestConnection,
  "onboarding": Onboarding,
  "externalAccounts": ExternalAccountConnection,
  "paymentMandates": PaymentMandateConnection,
  "fundingLimitSettings": FundingLimitSettings
}

AccountHolderCanceledStatusInfo

Description

Account Holder Canceled Status Information

Fields
Field Name Description
status - AccountHolderStatus! Status of the account holder.
reason - String! Reason why the account holder is suspended.
Example
{"status": "Enabled", "reason": "abc123"}

AccountHolderCompanyInfo

Fields
Field Name Description
type - AccountHolderType! Account holder type (always Company for type AccountHolderCompanyInfo)
name - String! Name of the company.
registrationNumber - String Registration number of the company (SIRET, ...).
companyRegistrationDate - Date Registration date of the company.
companyType - CompanyType Legal form of the company (SAS, SCI, SASU, ...).
businessActivity - BusinessActivity! Business activity.
businessActivityDescription - String! Business activity description. This must be 1024 characters long maximum.
monthlyPaymentVolume - MonthlyPaymentVolume! Estimated monthly payment volume (euro).
individualUltimateBeneficialOwners - [IndividualUltimateBeneficialOwner!]!

The ultimate beneficiary is defined as the natural person (s) who own or control, directly or indirectly, the reporting company.

The ultimate beneficiary is :

  • either the natural person (s) who hold, directly or indirectly, more than 25% of the capital or the rights of vote of the reporting company;
  • either the natural person (s) who exercise, by other means, a power of control of the company;
vatNumber - String Unique number that identifies a taxable person (business) or non-taxable legal entity that is registered for VAT
taxIdentificationNumber - String Tax Identification Number
legalRepresentativePersonalAddress - AddressInformation Legal representative personal address
Example
{
  "type": "Individual",
  "name": "xyz789",
  "registrationNumber": "abc123",
  "companyRegistrationDate": "2007-12-03",
  "companyType": "Association",
  "businessActivity": "AdministrativeServices",
  "businessActivityDescription": "xyz789",
  "monthlyPaymentVolume": "Between10000And50000",
  "individualUltimateBeneficialOwners": [
    IndividualUltimateBeneficialOwner
  ],
  "vatNumber": "xyz789",
  "taxIdentificationNumber": "abc123",
  "legalRepresentativePersonalAddress": AddressInformation
}

AccountHolderConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More).

Fields
Field Name Description
totalCount - Int! Total number of element in the list.
pageInfo - PageInfo! Information about the current, the previous and the next page.
edges - [AccountHolderEdge!]! AccountHolderEdge list.
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [AccountHolderEdge]
}

AccountHolderEdge

Description

Implements the Relay Edge interface.

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism.
node - AccountHolder! The account holder.
Example
{
  "cursor": "xyz789",
  "node": AccountHolder
}

AccountHolderEnabledStatusInfo

Description

Account Holder Enabled Status Information

Fields
Field Name Description
status - AccountHolderStatus! Status of the account holder.
Example
{"status": "Enabled"}

AccountHolderFilterInput

Fields
Input Field Description
status - [AccountHolderStatus!]
types - [AccountHolderType!]
verificationStatus - [VerificationStatus!]
search - String

Searches company name, first name, last name

firstName - String
lastName - String
birthDate - String
registrationNumber - String
Example
{
  "status": ["Enabled"],
  "types": ["Individual"],
  "verificationStatus": ["NotStarted"],
  "search": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "birthDate": "abc123",
  "registrationNumber": "abc123"
}

AccountHolderIndividualInfo

Description

Individual account holder.

Fields
Field Name Description
type - AccountHolderType! Account holder type (always Individual for type AccountHolderIndividualInfo).
name - String! Account Holder's first name and last name.
employmentStatus - EmploymentStatus! Employment status of the account holder (regulatory questions).
monthlyIncome - MonthlyIncome! Monthly income of the account holder (regulatory questions).
user - User! User of the individual account holder.
taxIdentificationNumber - String Tax Identification Number
Example
{
  "type": "Individual",
  "name": "abc123",
  "employmentStatus": "Craftsman",
  "monthlyIncome": "LessThan500",
  "user": User,
  "taxIdentificationNumber": "xyz789"
}

AccountHolderInfo

Description

Account holder types.

Fields
Field Name Description
type - AccountHolderType! Account holder type
name - String! Account holder name
Possible Types
AccountHolderInfo Types

AccountHolderCompanyInfo

AccountHolderIndividualInfo

Example
{"type": "Individual", "name": "xyz789"}

AccountHolderNotFoundRejection

Description

Rejection returned when the Account Holder was not found

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

AccountHolderOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing account holders

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

AccountHolderOrderByInput

Description

Order that can be applied when listing account holders

Fields
Input Field Description
field - AccountHolderOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

AccountHolderStatus

Description

Account holder status.

Values
Enum Value Description

Enabled

When the account holder is enabled.

Suspended

When the account holder is suspended.

Canceled

When the account holder is canceled.
Example
"Enabled"

AccountHolderStatusInfo

Description

Account Holder Status Information

Fields
Field Name Description
status - AccountHolderStatus! Status of the account holder.
Example
{"status": "Enabled"}

AccountHolderSuspendedStatusInfo

Description

Account Holder Suspended Status Information

Fields
Field Name Description
status - AccountHolderStatus! Status of the account holder.
reason - String! Reason why the account holder is suspended.
Example
{"status": "Enabled", "reason": "xyz789"}

AccountHolderType

Description

Account holder type

Values
Enum Value Description

Individual

Individual (Natural person)

Company

Company (Legal person)
Example
"Individual"

AccountHolderTypeIndividualRejection

Description

Rejection returned if the account holder type is individual. An individual account holder can't create a b2b received direct debit mandate.

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

AccountLanguage

Description

Language: ISO 639-1 language code

Values
Enum Value Description

de

en

fr

it

nl

es

Example
"de"

AccountMembership

Description

An account membership represents the rights of a user for a given account.

Each account is administered by an account membership having the capacity of legal representative. He has the possibility of delegating rights on this account to other users.

Fields
Field Name Description
id - ID! unique identifier of an account membership
email - String! email
user - User user of this account membership
legalRepresentative - Boolean! true if this account membership having the capacity of the legal representative of the account holder.
canViewAccount - Boolean! true if this account membership can view account balances and transactions history
canManageBeneficiaries - Boolean! true if this account membership can add or canceled beneficiaries
canInitiatePayments - Boolean! true if this account membership can initiate payments
canManageAccountMembership - Boolean! true if this account membership can invite, update, suspend or resume memberships
canAddCards - Boolean! true if this account membership can add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")
canManageCards - Boolean! COMING SOON true if this account membership can manage cards for himself or to the memberships he manages
statusInfo - AccountMembershipStatusInfo! status of the account membership
account - Account account of the account membership
spendingLimits - [SpendingLimit!] Periodic Spending limit list
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
version - String! version of the account membership started from '1' and incremented at every updates
residencyAddress - AddressInfo Residency address of the member
taxIdentificationNumber - String Tax Identification Number of the member
acceptedIdentificationLevels - [IdentificationLevel]! List of accepted identification level
recommendedIdentificationLevel - IdentificationLevel! Recommended identification level
hasRequiredIdentificationLevel - Boolean Indicate if the identity bound to the account membership has required identification level
disabledAt - DateTime Disabled date
cards - CardConnection! account membership's cards
Arguments
first - Int!
before - String
after - String
orderBy - CardOrderByInput

When the list of elements needs to be ordered

filters - CardFiltersInput

When the list of elements needs to be filtered

spending - Spending Periodic Spending
Example
{
  "id": 4,
  "email": "abc123",
  "user": User,
  "legalRepresentative": true,
  "canViewAccount": false,
  "canManageBeneficiaries": false,
  "canInitiatePayments": true,
  "canManageAccountMembership": false,
  "canAddCards": false,
  "canManageCards": false,
  "statusInfo": AccountMembershipStatusInfo,
  "account": Account,
  "spendingLimits": [SpendingLimit],
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "version": "abc123",
  "residencyAddress": AddressInfo,
  "taxIdentificationNumber": "abc123",
  "acceptedIdentificationLevels": ["Expert"],
  "recommendedIdentificationLevel": "Expert",
  "hasRequiredIdentificationLevel": false,
  "disabledAt": "2007-12-03T10:15:30Z",
  "cards": CardConnection,
  "spending": Spending
}

AccountMembershipBindingUserErrorStatusInfo

Description

when a user is binded with the error to the account membership

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always BindingUserError for type AccountMembershipBindingUserErrorStatusInfo)
firstNameMatchError - Boolean! true if the first name of the user binded doesn't match with the invitation
idVerifiedMatchError - Boolean! true if Swan hasn't verified the user's identity
lastNameMatchError - Boolean! true if the last name of the user binded doesn't match with the invitation
phoneNumberMatchError - Boolean! true if the phone number of the user binded doesn't match with the invitation
birthDateMatchError - Boolean! true if the birth date of the user binded doesn't match with the invitation
restrictedTo - RestrictedTo! restricted to a user
Example
{
  "status": "ConsentPending",
  "firstNameMatchError": true,
  "idVerifiedMatchError": true,
  "lastNameMatchError": true,
  "phoneNumberMatchError": false,
  "birthDateMatchError": true,
  "restrictedTo": RestrictedTo
}

AccountMembershipCannotBeDisabledRejection

Fields
Field Name Description
accountMembershipId - String!
message - String!
Example
{
  "accountMembershipId": "xyz789",
  "message": "abc123"
}

AccountMembershipCannotBeUpdatedRejection

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

AccountMembershipConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [AccountMembershipEdge!]! AccountMembershipEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [AccountMembershipEdge]
}

AccountMembershipConsentPendingStatusInfo

Description

when the user has to consent to invite a new account membership

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always ConsentPending for type AccountMembershipConsentPendingStatusInfo)
consent - Consent! The consent required to invite this account membership
restrictedTo - RestrictedTo! restricted to a user
Example
{
  "status": "ConsentPending",
  "consent": Consent,
  "restrictedTo": RestrictedTo
}

AccountMembershipDisabledStatusInfo

Description

when the account membership is disabled

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always Disabled for type AccountMembershipDisabledStatusInfo)
reason - String! reason why the account membership is disabled
Example
{
  "status": "ConsentPending",
  "reason": "xyz789"
}

AccountMembershipEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - AccountMembership! The account membership
Example
{
  "cursor": "xyz789",
  "node": AccountMembership
}

AccountMembershipEnabledStatusInfo

Description

when the account membership is enabled

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always Enabled for type AccountMembershipEnabledStatusInfo)
Example
{"status": "ConsentPending"}

AccountMembershipInvitationSentStatusInfo

Description

when a new account membership is invited and there is no user binded yet

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always InvitationSent for type AccountMembershipInvitationSentStatusInfo)
restrictedTo - RestrictedTo! restricted to a user
Example
{"status": "ConsentPending", "restrictedTo": RestrictedTo}

AccountMembershipNotAllowedRejection

Description

Rejection returned when the Account Membership is not allowed to use an operation.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

AccountMembershipNotFoundRejection

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "xyz789"
}

AccountMembershipNotReadyToBeBoundRejection

Description

Rejection returned if invitation has not been sent to user yet

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

AccountMembershipOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing account memberships

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

AccountMembershipOrderByInput

Description

Order that can be applied when listing account memberships

Fields
Input Field Description
field - AccountMembershipOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

AccountMembershipStatus

Description

AccountMembership enabled

Values
Enum Value Description

ConsentPending

when the consent to invite the account membership is pending

InvitationSent

when the account membership is invited

BindingUserError

when the user binded with errors to the account membership

Enabled

when the account membership is enabled

Suspended

when the account membership is suspended

Disabled

when the account membership is disabled
Example
"ConsentPending"

AccountMembershipStatusInfo

Description

here are the different account membership status:

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status
Example
{"status": "ConsentPending"}

AccountMembershipSuspendedStatusInfo

Description

when the account membership is suspended

Fields
Field Name Description
status - AccountMembershipStatus! AccountMembership status (always Suspended for type AccountMembershipSuspendedStatusInfo)
reason - String! reason why the account membership is suspended
Example
{
  "status": "ConsentPending",
  "reason": "abc123"
}

AccountMembershipsFilterInput

Description

Filters that can be applied when listing accounts (Only applied in user context)

Fields
Input Field Description
canAddCards - Boolean

Can the user add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")

canManageCards - Boolean

COMING SOON true if this account membership can manage cards for himself or to the memberships he manages

canInitiatePayments - Boolean

Can the user initiate payments on this account

canManageAccountMembership - Boolean

Can the user manage account membership

canManageBeneficiaries - Boolean

Can the user manage beneficiaries

canViewAccount - Boolean

Can the user view account

status - [AccountMembershipStatus!]

Account memberships status/statuses we're looking for

email - String

Filtered by email

firstName - String

Filtered by first name

lastName - String

Filtered by last name

search - String

Searches email, first name, last name, and id

Example
{
  "canAddCards": false,
  "canManageCards": true,
  "canInitiatePayments": true,
  "canManageAccountMembership": true,
  "canManageBeneficiaries": false,
  "canViewAccount": false,
  "status": ["ConsentPending"],
  "email": "abc123",
  "firstName": "abc123",
  "lastName": "xyz789",
  "search": "xyz789"
}

AccountNotFoundRejection

Description

Rejection returned if the account was not found or if the user does not have the rights to know that the card exists

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

AccountNumber

Description

Swan account number

Example
"000000012345"

AccountOpenedStatus

Description

Account Opened status information

Fields
Field Name Description
status - AccountStatus! Account status (always Opened for type AccountOpenedStatus)
Example
{"status": "Opened"}

AccountOpeningEmailCommunicationLanguage

Values
Enum Value Description

de

en

fr

it

COMING SOON Fallback to en

nl

COMING SOON Fallback to en

es

COMING SOON Fallback to en
Example
"de"

AccountOpeningEmailRecipient

Values
Enum Value Description

Partner

EndCustomer

None

Example
"Partner"

AccountOpeningEmailSettings

Fields
Field Name Description
recipient - AccountOpeningEmailRecipient! "Partner" if mail must be sent to partner, "EndCustomer" if it is sent to end customer, "None" if no email sent
Example
{"recipient": "Partner"}

AccountOrderByFieldInput

Description

Fields that can be used when ordering accounts

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

AccountOrderByInput

Description

Order that can be applied when listing accounts

Fields
Input Field Description
field - AccountOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

AccountReceivedDirectDebitMandateFiltersInput

Description

Filter that can be passed to get the received direct debit mandate in a specific data range

Fields
Input Field Description
status - [ReceivedDirectDebitMandateStatus!]

To filter on status values

scheme - [ReceivedDirectDebitMandateScheme!]

To filter on scheme values

Example
{"status": ["Enabled"], "scheme": ["SepaDirectDebitB2b"]}

AccountReceivedDirectDebitOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing receives direct debit mandate results

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

AccountReceivedDirectDebitOrderByInput

Description

Order that can be applied when listing receives direct debit mandate results

Fields
Input Field Description
field - AccountReceivedDirectDebitOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

AccountStandingOrderFiltersInput

Description

Filters that can be applied when listing Standing orders

Fields
Input Field Description
status - [StandingOrderStatus!]
Example
{"status": ["ConsentPending"]}

AccountStandingOrderOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing standing order results

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

AccountStandingOrderOrderByInput

Description

Order that can be applied when listing standing order results

Fields
Input Field Description
field - AccountStandingOrderOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

AccountStatus

Values
Enum Value Description

Opened

When the account is opened

Suspended

When the account is suspended

Closing

When the account is currently closing

Closed

When the account is closed
Example
"Opened"

AccountStatusInfo

Fields
Field Name Description
status - AccountStatus! Account status
Example
{"status": "Opened"}

AccountSuspendedStatus

Description

Account Suspended status information

Fields
Field Name Description
status - AccountStatus! Account status (always Suspended for type AccountSuspendedStatus)
reason - String! Reason why the account is suspended @Deprecated
reasonInfo - SuspendAccountStatusReason! Reason why the account is currently suspend
Example
{
  "status": "Opened",
  "reason": "xyz789",
  "reasonInfo": SuspendAccountReason
}

AccountVerification

Description

Account Verification

Fields
Field Name Description
createdAt - DateTime! Creation date of the account verification
id - ID! Unique identifier of the Account Verification
statusInfo - AccountVerificationStatusInfo! Account Verification Status Information
updatedAt - DateTime! Last update date of the account verification
Possible Types
AccountVerification Types

DirectDebitAccountVerification

Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "id": 4,
  "statusInfo": AccountVerificationStatusInfo,
  "updatedAt": "2007-12-03T10:15:30Z"
}

AccountVerificationAlreadyRejectedRejection

Description

Rejection returned when the external account has already been rejected.

In such a case, contact Swan directly to resolve the situation for this specific account holder.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

AccountVerificationStatus

Description

Account Verification Status

Values
Enum Value Description

PendingVerification

We are waiting for the end user to send a credit transfer from his external iban to any Swan owned iban

PendingReview

We could not automatically match the external iban based on last received transfer. Manuel review process is underway

Verified

Account has been verified

Rejected

Account verification has been rejected
Example
"PendingVerification"

AccountVerificationStatusInfo

Description

Account Verification Status Information

Fields
Field Name Description
status - AccountVerificationStatus! Account verification status
Example
{"status": "PendingVerification"}

AccountVerificationWrongStatusRejection

Description

Rejection returned when the Account Verification is not in the expected status

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

ActivatePhysicalCardInput

Fields
Input Field Description
identifier - String!

Unique identifier present on physical card

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "identifier": "xyz789",
  "consentRedirectUrl": "xyz789"
}

ActivatePhysicalCardPayload

ActivatePhysicalCardSuccessPayload

Fields
Field Name Description
consent - Consent! The consent required to activate this physical card
physicalCard - PhysicalCard! The physicalCard to activate
Example
{
  "consent": Consent,
  "physicalCard": PhysicalCard
}

AddAccountMembershipInput

Description

Inputs to add a new account membership

Fields
Input Field Description
accountId - ID!

unique identifier of a given account

email - String!

email

restrictedTo - RestrictedToInput!

restricted to a user if necessary

canViewAccount - Boolean!

true if this account membership can view account balances and transactions history

canManageBeneficiaries - Boolean!

true if this account membership can add or canceled beneficiaries

canInitiatePayments - Boolean!

true if this account membership can initiate payments

canManageAccountMembership - Boolean!

true if this account membership can invite, update, suspend or resume account membership

canAddCards - Boolean

true if this account membership can add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")

canManageCards - Boolean

COMING SOON true if this account membership can manage cards for himself or to the memberships he manages

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

residencyAddress - ResidencyAddressInput

Residency address of the member to be added

taxIdentificationNumber - String

Tax Identification Number of the user added

Example
{
  "accountId": 4,
  "email": "abc123",
  "restrictedTo": RestrictedToInput,
  "canViewAccount": false,
  "canManageBeneficiaries": false,
  "canInitiatePayments": true,
  "canManageAccountMembership": true,
  "canAddCards": true,
  "canManageCards": false,
  "consentRedirectUrl": "abc123",
  "residencyAddress": ResidencyAddressInput,
  "taxIdentificationNumber": "xyz789"
}

AddAccountMembershipPayload

AddAccountMembershipSuccessPayload

Fields
Field Name Description
accountMembership - AccountMembership!
Example
{"accountMembership": AccountMembership}

AddAccountMembershipsInput

Description

Inputs to add a new account membership

Fields
Input Field Description
accountId - ID!

unique identifier of a given account

memberships - [MembershipInfoInput!]!

memberships to add to the account

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "accountId": "4",
  "memberships": [MembershipInfoInput],
  "consentRedirectUrl": "abc123"
}

AddAccountMembershipsPayload

AddAccountMembershipsSuccessPayload

Fields
Field Name Description
accountMemberships - [AccountMembership!]!
Example
{"accountMemberships": [AccountMembership]}

AddCardInput

Description

Inputs to add a new card

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership

cardContractExpiryDate - DateTime

Card expiration date if null it does not have an expiration date

withdrawal - Boolean!

true if this card allows cash withdrawals

international - Boolean!

true if this card allows payments outside of the country

nonMainCurrencyTransactions - Boolean!

true if this card allows transactions outside of the card's main currency

eCommerce - Boolean!

true if this card allows transactions at eCommerce sites

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

name - String

Card name

viewCardNumber - Boolean

true to show the card confidential information in the same request

cardProductId - ID

The if of the card product to use to create the new card.

spendingLimit - SpendingLimitInput

spending limit

Example
{
  "accountMembershipId": 4,
  "cardContractExpiryDate": "2007-12-03T10:15:30Z",
  "withdrawal": true,
  "international": true,
  "nonMainCurrencyTransactions": false,
  "eCommerce": true,
  "consentRedirectUrl": "xyz789",
  "name": "xyz789",
  "viewCardNumber": false,
  "cardProductId": "4",
  "spendingLimit": SpendingLimitInput
}

AddCardPayload

AddCardSuccessPayload

Fields
Field Name Description
card - Card! The new card added
Example
{"card": Card}

AddCardsInput

Description

Input to add a new cards

Fields
Input Field Description
cards - [CardConfigInput!]!

the configuration of all the cards you want to add

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

cardProductId - ID

The id of the card product to use to create the new cards.

Example
{
  "cards": [CardConfigInput],
  "consentRedirectUrl": "xyz789",
  "cardProductId": 4
}

AddCardsPayload

AddCardsSuccessPayload

Fields
Field Name Description
cards - [Card!]! The newly created cards
Example
{"cards": [Card]}

AddCardsWithGroupDeliveryInput

Description

Input to add a new cards

Fields
Input Field Description
groupDeliveryAddress - CompleteAddressWithContactInput!

address to deliver the printed physical cards

cards - [CardConfigWithGroupDeliveryInput!]!

the configuration of all the cards you want to add

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

cardProductId - ID

The id of the card product to use to create the new cards.

Example
{
  "groupDeliveryAddress": CompleteAddressWithContactInput,
  "cards": [CardConfigWithGroupDeliveryInput],
  "consentRedirectUrl": "xyz789",
  "cardProductId": "4"
}

AddCardsWithGroupDeliveryPayload

AddCardsWithGroupDeliverySuccessPayload

Fields
Field Name Description
cards - [Card!]! The newly created cards
Example
{"cards": [Card]}

AddDigitalCardInput

Description

Inputs to add a new digital card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

walletProvider - WalletProviderType!

Provider for which to generate a digitalCard

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "cardId": "4",
  "walletProvider": "ApplePay",
  "consentRedirectUrl": "xyz789"
}

AddDigitalCardPayload

AddDigitalCardSuccessPayload

Fields
Field Name Description
digitalCard - PendingDigitalCard!

Digital Card used for ApplePay or GooglePay

The consent can be found in the digital card status information.

Example
{"digitalCard": PendingDigitalCard}

AddDirectDebitFundingSourceInput

Description

Input to add a Direct Debit Funding Source

Fields
Input Field Description
scheme - SEPADirectDebitScheme!

Scheme of the underlying payment mandate

accountId - ID!

Id of the account on which to create a funding source. Money will be funded to this account when an initiateFundingRequest is done using this funding source

iban - IBAN!

IBAN to use in the direct debit transaction that will be triggered when funding the account. Money will be debited from this IBAN when an initiateFundingRequest is done using this funding source

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

name - String

Name to give to this funding source

Example
{
  "scheme": "SepaDirectDebitCore",
  "accountId": 4,
  "iban": "NL55INGB4789170233",
  "consentRedirectUrl": "abc123",
  "name": "abc123"
}

AddDirectDebitFundingSourcePayload

Example
AddDirectDebitFundingSourceSuccessPayload

AddDirectDebitFundingSourceSuccessPayload

Description

Add Direct Debit Funding Source Success Payload

Fields
Field Name Description
fundingSource - FundingSource! The created funding source
Example
{"fundingSource": FundingSource}

AddExternalAccountBalanceInput

Fields
Input Field Description
externalAccountId - ID!

unique identifier of a given external account

amount - AmountInput!

Amount of the balance

type - ExternalAccountBalanceType!

Type of the balance

lastChangedAt - DateTime!

Last changed Date

Example
{
  "externalAccountId": 4,
  "amount": AmountInput,
  "type": "ClosingBooked",
  "lastChangedAt": "2007-12-03T10:15:30Z"
}

AddExternalAccountBalancePayload

AddExternalAccountBalanceSuccessPayload

Fields
Field Name Description
externalAccountBalance - ExternalAccountBalance! The added external balance
Example
{"externalAccountBalance": ExternalAccountBalance}

AddExternalAccountInput

Fields
Input Field Description
accountHolderId - ID!

Unique identifier of a given account holder

externalId - String!

External account identifier

name - String

Name of the account

cashAccountType - CashAccountType!

Type of account

BIC - BIC!

Bank Identifier Code

IBAN - IBAN!

International Bank Account Number

currency - Currency!

Currency

holderName - String!

Account Holder name

country - CCA3!

Country

originalCreatedAt - DateTime!

Original Created date

usage - ExternalAccountUsage!

Usage information of the account

source - String!

Source of the account information

balances - [ExternalAccountBalanceInput!]

Balances

Example
{
  "accountHolderId": 4,
  "externalId": "abc123",
  "name": "abc123",
  "cashAccountType": "Current",
  "BIC": BIC,
  "IBAN": "NL55INGB4789170233",
  "currency": "USD",
  "holderName": "abc123",
  "country": CCA3,
  "originalCreatedAt": "2007-12-03T10:15:30Z",
  "usage": "Private",
  "source": "xyz789",
  "balances": [ExternalAccountBalanceInput]
}

AddExternalAccountPayload

AddExternalAccountSuccessPayload

Fields
Field Name Description
externalAccount - ExternalAccount! The added external account
Example
{"externalAccount": ExternalAccount}

AddFundingLimitSettingsChangeRequestInput

Description

Inputs to add a new request for funding limit settings change

Fields
Input Field Description
instantFundingLimit - FundingLimitAmountInput!

Requested amount settings for the instant funding limit

fundingLimit - FundingLimitAmountInput!

Requested amount settings for the funding limit

accountHolderId - ID!

Unique identifier of a given account holder

Example
{
  "instantFundingLimit": FundingLimitAmountInput,
  "fundingLimit": FundingLimitAmountInput,
  "accountHolderId": 4
}

AddFundingLimitSettingsChangeRequestPayload

Example
AddFundingLimitSettingsChangeRequestSuccessPayload

AddFundingLimitSettingsChangeRequestSuccessPayload

Description

Add Funding Limit Settings Change Request Success Payload

Fields
Field Name Description
fundingLimitSettingsChangeRequest - FundingLimitSettingsChangeRequest! The new request for funding limit settings change
Example
{
  "fundingLimitSettingsChangeRequest": FundingLimitSettingsChangeRequest
}

AddInternalDirectDebitPaymentMandateInput

Description

Inputs to add an Internal Direct Debit Payment Mandate

Fields
Input Field Description
merchantProfileId - ID

The ID of the concerned merchant profile DEPRECATED: Use paymentMethodId instead

scheme - InternalDirectDebitScheme

Internal Direct Debit Scheme of the payment mandate, with two possible values (Standard or B2B) DEPRECATED: Use paymentMethodId instead

paymentMethodId - ID

The ID of the concerned merchant payment method

sequence - InternalDirectDebitSequence

Determines whether the payment mandate is a one-off or recurring

reference - String

Reference of the payment mandate

language - MandateLanguage

Language that will be used to produce the mandate PDF document

debtorAccountId - ID!

ID of the Swan account of the debtor

signatureDate - Date

Signature date of the Internal Direct Debit mandate

Example
{
  "merchantProfileId": "4",
  "scheme": "InternalDirectDebitStandard",
  "paymentMethodId": 4,
  "sequence": "OneOff",
  "reference": "abc123",
  "language": "de",
  "debtorAccountId": "4",
  "signatureDate": "2007-12-03"
}

AddInternalDirectDebitPaymentMandatePayload

Example
AddInternalDirectDebitPaymentMandateSuccessPayload

AddInternalDirectDebitPaymentMandateSuccessPayload

Description

Return type in case of a successful response of the addInternalDirectDebitPaymentMandate mutation

Fields
Field Name Description
internalDirectDebitPaymentMandateId - ID! The received direct debit mandate is added @deprecated
paymentMandate - InternalPaymentDirectDebitMandate!
Example
{
  "internalDirectDebitPaymentMandateId": "4",
  "paymentMandate": InternalPaymentDirectDebitMandate
}

AddMerchantProfileInput

Description

Input to add a Merchant Profile

Fields
Input Field Description
accountId - ID!

ID of the Swan account which the merchantProfile is associated to

merchantName - String!

Business name of the merchant, i.e. name that will be displayed on debtors' bank statements

merchantWebsite - String

Url of the merchant's website

merchantLogo - String

base64 encoded merchant's logo

productType - ProductType!

Type of product sold. Gifts and donations can be club subscription or collection of donations (for associations), tips collection, contributions for local authorities

expectedMonthlyPaymentVolume - AmountInput!

Expected annual activity volumes for all payment methods.

expectedAverageBasket - AmountInput!

expected average basket value.

Example
{
  "accountId": "4",
  "merchantName": "abc123",
  "merchantWebsite": "abc123",
  "merchantLogo": "xyz789",
  "productType": "Goods",
  "expectedMonthlyPaymentVolume": AmountInput,
  "expectedAverageBasket": AmountInput
}

AddMerchantProfilePayload

Description

Add Merchant Profile Payload

Example
AddMerchantProfileSuccessPayload

AddMerchantProfileSuccessPayload

Description

Add Merchant Profile Success Payload

Fields
Field Name Description
merchantProfile - MerchantProfile! Merchant Profile
Example
{"merchantProfile": MerchantProfile}

AddOrUpdateExternalAccountBalanceInput

Fields
Input Field Description
externalAccountId - ID!

unique identifier of a given external account

amount - AmountInput!

Amount of the balance

type - ExternalAccountBalanceType!

Type of the balance

lastChangedAt - DateTime!

Last changed Date

Example
{
  "externalAccountId": "4",
  "amount": AmountInput,
  "type": "ClosingBooked",
  "lastChangedAt": "2007-12-03T10:15:30Z"
}

AddOrUpdateExternalAccountBalancePayload

Example
AddOrUpdateExternalAccountBalanceSuccessPayload

AddOrUpdateExternalAccountBalanceSuccessPayload

Fields
Field Name Description
externalAccountBalance - ExternalAccountBalance! The added external balance
Example
{"externalAccountBalance": ExternalAccountBalance}

AddReceivedInternalDirectDebitB2bMandateInput

Description

Inputs to add a received internal direct debit mandate B2b.

Fields
Input Field Description
paymentMandateId - ID!

The associated Payment Mandate ID

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

name - String

Label that will be displayed along with this received direct debit mandate in the web banking

Example
{
  "paymentMandateId": "4",
  "consentRedirectUrl": "abc123",
  "name": "xyz789"
}

AddReceivedInternalDirectDebitB2bMandatePayload

Description

Union type return by the addReceivedInternalDirectDebitB2bMandate mutation

Example
AddReceivedInternalDirectDebitB2bMandateSuccessPayload

AddReceivedInternalDirectDebitB2bMandateSuccessPayload

Description

Return type in case of a successful response of the addReceivedInternalDirectDebitB2bMandate mutation

Fields
Field Name Description
receivedDirectDebitMandate - ReceivedDirectDebitMandate! The received direct debit mandate is added
Example
{"receivedDirectDebitMandate": ReceivedDirectDebitMandate}

AddReceivedSepaDirectDebitB2bMandateInput

Description

Inputs to add a received sepa direct debit mandate B2b.

Fields
Input Field Description
mandateReference - String!

The unique identifier of the received direct debit mandate

creditorIdentifier - String!

The Sepa Creditor Identifier of the creditor

creditorName - String!

The name of the creditor

iban - String!

The Swan Iban of the debtor

name - String

Label that will be displayed along with this received direct debit mandate in the web banking

sequence - SEPAReceivedDirectDebitMandateSequence!

Sequence of the mandate

signatureDate - Date

Date of signature of the mandate

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "mandateReference": "xyz789",
  "creditorIdentifier": "xyz789",
  "creditorName": "xyz789",
  "iban": "xyz789",
  "name": "abc123",
  "sequence": "OneOff",
  "signatureDate": "2007-12-03",
  "consentRedirectUrl": "xyz789"
}

AddReceivedSepaDirectDebitB2bMandatePayload

Description

Union type return by the addReceivedSepaDirectDebitB2bMandate mutation

Example
AddReceivedSepaDirectDebitB2bMandateSuccessPayload

AddReceivedSepaDirectDebitB2bMandateSuccessPayload

Description

Return type in case of a successful response of the addReceivedSepaDirectDebitB2bMandate mutation

Fields
Field Name Description
receivedDirectDebitMandate - ReceivedDirectDebitMandate! The received direct debit mandate is added
Example
{"receivedDirectDebitMandate": ReceivedDirectDebitMandate}

AddSepaDirectDebitPaymentMandateInput

Fields
Input Field Description
paymentMethodId - ID!

Specifies payment ID of a SEPA Direct Debit CORE or B2B payment method.

sequence - DirectDebitSequence!

Determines whether the payment mandate is a one-off or recurring

reference - String

Unique reference of the SEPA Direct Debit Payment Mandate.

language - MandateLanguage!

Language that will be used to produce the mandate PDF document

signatureDate - Date!

Signature date of the SEPA Direct Debit Payment Mandate

debtor - SepaPaymentMandateDebtorInput!
Example
{
  "paymentMethodId": 4,
  "sequence": "OneOff",
  "reference": "abc123",
  "language": "de",
  "signatureDate": "2007-12-03",
  "debtor": SepaPaymentMandateDebtorInput
}

AddSepaDirectDebitPaymentMandatePayload

AddSepaDirectDebitPaymentMandateSuccessPayload

Description

Return type in case of a successful response of the addSepaDirectDebitPaymentMandate mutation

Fields
Field Name Description
paymentMandate - SEPAPaymentDirectDebitMandate!
Example
{"paymentMandate": SEPAPaymentDirectDebitMandate}

AddSingleUseVirtualCardInput

Description

Inputs to add a new card

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership

spendingLimit - SpendingLimitInput!

spending limit

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

name - String

Card name

viewCardNumber - Boolean

true to show the card confidential information in the same request

cardProductId - ID

The if of the card product to use to create the new card.

Example
{
  "accountMembershipId": 4,
  "spendingLimit": SpendingLimitInput,
  "consentRedirectUrl": "abc123",
  "name": "xyz789",
  "viewCardNumber": false,
  "cardProductId": 4
}

AddSingleUseVirtualCardPayload

AddSingleUseVirtualCardSuccessForProjectOwnerPayload

Fields
Field Name Description
card - Card! the new card added
confidential - CardConfidential! card condidential
Example
{
  "card": Card,
  "confidential": CardConfidential
}

AddSingleUseVirtualCardSuccessForUserPayload

Fields
Field Name Description
card - Card! the new card added
Example
{"card": Card}

AddSingleUseVirtualCardsInput

Description

Input to add a new single-use virtual cards

Fields
Input Field Description
cards - [SingleUseVirtualCardConfigInput!]!

the configuration of all the cards you want to add

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

cardProductId - ID

The id of the card product to use to create the new cards.

Example
{
  "cards": [SingleUseVirtualCardConfigInput],
  "consentRedirectUrl": "xyz789",
  "cardProductId": 4
}

AddSingleUseVirtualCardsPayload

AddSingleUseVirtualCardsSuccessPayload

Fields
Field Name Description
cards - [Card!]! The newly created single use virtual cards
Example
{"cards": [Card]}

AddVirtualIbanEntryPayload

AddVirtualIbanEntrySuccessPayload

Fields
Field Name Description
virtualIbanEntry - VirtualIBANEntry!
Example
{"virtualIbanEntry": VirtualIBANEntry}

AddVirtualIbanInput

Description

Input to Add a Virtual IBAN

Fields
Input Field Description
accountId - ID!

unique identifier of a given account

Example
{"accountId": 4}

AddingCardsToDifferentAccountsRejection

Description

Rejection returned if the attempting to add cards to different accounts.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

Address

Description

Address Information

Fields
Field Name Description
addressLine1 - String address line 1
addressLine2 - String addressLine2
city - String city
postalCode - String postal code (max 10 characters)
state - String state
country - CCA3 country
Example
{
  "addressLine1": "abc123",
  "addressLine2": "xyz789",
  "city": "abc123",
  "postalCode": "abc123",
  "state": "xyz789",
  "country": CCA3
}

AddressInfo

Description

Address information.

Fields
Field Name Description
addressLine1 - String Address line 1.
addressLine2 - String Address line 2.
city - String City.
postalCode - String Postal code.
state - String State.
country - CCA3 Country.
Example
{
  "addressLine1": "abc123",
  "addressLine2": "xyz789",
  "city": "abc123",
  "postalCode": "xyz789",
  "state": "xyz789",
  "country": CCA3
}

AddressInformation

Description

Address

Fields
Field Name Description
addressLine1 - String! Address
addressLine2 - String Address
city - String! City
country - CCA3! Country
postalCode - String! Postal code
state - String State
Example
{
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "city": "xyz789",
  "country": CCA3,
  "postalCode": "xyz789",
  "state": "abc123"
}

AddressInformationInput

Description

Address

Fields
Input Field Description
addressLine1 - String!

Address

addressLine2 - String

Address

city - String!

City

country - CCA3!

Country

postalCode - String!

Postal code

state - String

State

Example
{
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "city": "abc123",
  "country": CCA3,
  "postalCode": "xyz789",
  "state": "xyz789"
}

AddressInput

Description

Address Information

Fields
Input Field Description
addressLine1 - String

address line 1 (max 100 characters)

addressLine2 - String

address line 2 (max 100 characters)

city - String

city (max 100 characters)

postalCode - String

postal code (max 10 characters)

state - String

state (max 100 characters)

country - CCA3!

country code

Example
{
  "addressLine1": "abc123",
  "addressLine2": "xyz789",
  "city": "xyz789",
  "postalCode": "xyz789",
  "state": "xyz789",
  "country": CCA3
}

AllowSddInput

Description

Input to Allow SDD

Fields
Input Field Description
accountId - ID!

unique identifier of a given account

Example
{"accountId": 4}

AllowSddPayload

Example
AllowSddSuccessPayload

AllowSddSuccessPayload

Fields
Field Name Description
account - Account!
Example
{"account": Account}

AllowSddVirtualIbanEntryInput

Fields
Input Field Description
ibanEntryId - ID!
Example
{"ibanEntryId": 4}

AllowSddVirtualIbanEntryPayload

Example
AllowSddVirtualIbanEntrySuccessPayload

AllowSddVirtualIbanEntrySuccessPayload

Fields
Field Name Description
virtualIbanEntry - VirtualIBANEntry!
Example
{"virtualIbanEntry": VirtualIBANEntry}

AllowedValue

Fields
Field Name Description
key - String!
name - String!
Example
{
  "key": "abc123",
  "name": "abc123"
}

AlreadyValidPhysicalCardRejection

Description

Rejection returned if card already has a valid Physical Card

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

AmlRiskLevel

Values
Enum Value Description

Low

Medium

High

TooHigh

Example
"Low"

Amount

Description

Amount with its currency

Fields
Field Name Description
currency - Currency! currency
value - AmountValue! value of the amount
Example
{
  "currency": "USD",
  "value": AmountValue
}

AmountInput

Description

Amount with its currency

Fields
Input Field Description
value - AmountValue!

value of the amount

currency - Currency!

currency

Example
{
  "value": AmountValue,
  "currency": "USD"
}

AmountValue

Description

The amount given with fractional digits, where fractions must be compliant to the currency definition. Up to 14 significant figures. Negative amounts are signed by minus. The decimal separator is a dot.

Example: Valid representations for EUR with up to two decimals are:

1056 5768.2 -1.50 5877.78

Example
AmountValue

ApplePayNotAllowedForProjectRejection

Description

Rejection return if the project is not configured to allow Apple Pay

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

ApprovedFundingLimit

Description

Approved Funding Limit

Fields
Field Name Description
instantFundingLimit - FundingLimitAmount! Requested amount settings for the instant funding limit
fundingLimit - FundingLimitAmount! Requested amount settings for the funding limit
Example
{
  "instantFundingLimit": FundingLimitAmount,
  "fundingLimit": FundingLimitAmount
}

Authenticator

Description

A method used to authenticate a user

Fields
Field Name Description
os - String Operating System (Apple, Android, ...)
brand - String Device Brand (Apple, Samsung, ...)
model - String Device Model (iPhone XS, Samsung S3, ...)
type - AuthenticatorType! Type of authenticator
userAgent - String User agent, if it's a web authenticator
acceptLanguage - String Accept-Language header used during registration, if it's a web authenticator
Example
{
  "os": "abc123",
  "brand": "abc123",
  "model": "abc123",
  "type": "Swan",
  "userAgent": "xyz789",
  "acceptLanguage": "xyz789"
}

AuthenticatorType

Values
Enum Value Description

Swan

The Swan app

SwanWeb

A Swan web authenticator
Example
"Swan"

AuthorizationType

Description

Type of the card authorization transaction

Values
Enum Value Description

Classic

Classic authorization, nominal use-case, in order to hold the amount in the available balance that will be debited in the following days

PreAuthorization

Pre-authorization. Usually an authorization in order to hold the amount in the available balance that will be updated in a second time with the final amount (gaz station, car rent, etc)

DataRequest

Usually an authorization used by a merchant to verify if the card exists and can successfully receive a future authorization
Example
"Classic"

BIC

Description

Bank Identifier Code

Example
BIC

BadAccountStatusRejection

Description

Rejection returned if the status account is not valid

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "xyz789"
}

BadRequestRejection

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

Bank

Description

Information about the banking institution

Fields
Field Name Description
name - String! Bank name
branch - String Bank Branch Code
nationalId - String! Bank local identifier (unique by country)
bic - BIC! Bank BIC code
address - Address! Bank address (We might only be able to fill in the country)
Example
{
  "name": "abc123",
  "branch": "xyz789",
  "nationalId": "abc123",
  "bic": BIC,
  "address": Address
}

Beneficiary

Description

SOON TO BE DEPRECATED Beneficiary

Fields
Field Name Description
id - ID unique identifier of a beneficiary
name - String! full name of the beneficiary
isMyOwnIban - Boolean! true if this new beneficiary is the account holder himself in an other financial institution.
Possible Types
Beneficiary Types

InternalBeneficiary

SEPABeneficiary

Example
{
  "id": 4,
  "name": "abc123",
  "isMyOwnIban": true
}

BindAccountMembershipInput

Fields
Input Field Description
accountMembershipId - ID!
Example
{"accountMembershipId": 4}

BindAccountMembershipPayload

BindAccountMembershipSuccessPayload

Fields
Field Name Description
accountMembership - AccountMembership!
Example
{"accountMembership": AccountMembership}

BookedTransactionStatusInfo

Description

Booked transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
bookingDate - DateTime! The Date when the transaction is posted to an account on the Swan books.
valueDate - DateTime! The Date when the transaction is considered effective in accounting
Example
{
  "status": "Booked",
  "bookingDate": "2007-12-03T10:15:30Z",
  "valueDate": "2007-12-03T10:15:30Z"
}

Boolean

Description

The Boolean scalar type represents true or false.

BusinessActivity

Description

Business activity.

Values
Enum Value Description

AdministrativeServices

Agriculture

Arts

BusinessAndRetail

Construction

Education

ElectricalDistributionAndWaterSupply

FinancialAndInsuranceOperations

Health

Housekeeping

InformationAndCommunication

LodgingAndFoodServices

ManufacturingAndMining

Other

PublicAdministration

RealEstate

ScientificActivities

Transportation

Example
"AdministrativeServices"

CCA3

Description

Country code alpha 3 (ISO 3166)

Example
CCA3

CancelCardInput

Description

Inputs to cancel a card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

Example
{"cardId": "4"}

CancelCardPayload

CancelCardSuccessPayload

Fields
Field Name Description
card - Card! the card canceled
Example
{"card": Card}

CancelConsentInput

Description

Input of the cancelConsent mutation

Fields
Input Field Description
consentId - ID!
Example
{"consentId": 4}

CancelConsentPayload

Description

Payload of the cancelConsent mutation

Example
CancelConsentSuccessPayload

CancelConsentSuccessPayload

Description

Success payload of the cancelConsent mutation

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

CancelDigitalCardInput

Description

Inputs to cancel a digital card

Fields
Input Field Description
digitalCardId - ID!

Unique identifier of a digital card

Example
{"digitalCardId": "4"}

CancelDigitalCardPayload

CancelDigitalCardSuccessPayload

Fields
Field Name Description
digitalCard - DigitalCard! the digital card canceled
Example
{"digitalCard": DigitalCard}

CancelFundingSourceInput

Description

Cancel Funding Source Input

Fields
Input Field Description
id - ID!

ID of the funding source to cancel

Example
{"id": 4}

CancelFundingSourcePayload

Description

Cancel Funding Source Payload

Example
CancelFundingSourceSuccessPayload

CancelFundingSourceSuccessPayload

Description

Cancel Funding Source Success Payload

Fields
Field Name Description
fundingSource - FundingSource Canceled Funding Source
Example
{"fundingSource": FundingSource}

CancelPhysicalCardInput

Description

Inputs to cancel a physical card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

reason - CancelPhysicalCardReason!

reason why the physical card is canceled

Example
{"cardId": 4, "reason": "NonReceived"}

CancelPhysicalCardPayload

CancelPhysicalCardReason

Description

reason why the physical card is canceled

Values
Enum Value Description

NonReceived

When the card holder never received the card

Lost

When the card has been stolen

Stolen

When the card has been stolen

Defected

When the card doesn't work anymore

Blocked

When the card holder wants to block his card
Example
"NonReceived"

CancelPhysicalCardSuccessPayload

Fields
Field Name Description
physicalCard - PhysicalCard! The physicalCard canceled
Example
{"physicalCard": PhysicalCard}

CancelStandingOrderInput

Fields
Input Field Description
standingOrderId - String!
Example
{"standingOrderId": "xyz789"}

CancelStandingOrderPayload

CancelStandingOrderSuccessPayload

Fields
Field Name Description
standingOrder - StandingOrder!
Example
{"standingOrder": StandingOrder}

CancelTransactionInput

Description

Cancel transaction

Fields
Input Field Description
transactionId - ID!

transaction ID to cancel

Example
{"transactionId": 4}

CancelTransactionPayload

Example
CancelTransactionSuccessPayload

CancelTransactionSuccessPayload

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

CancelVirtualIbanEntryInput

Fields
Input Field Description
virtualIbanEntryId - ID!
Example
{"virtualIbanEntryId": 4}

CancelVirtualIbanEntryPayload

CancelVirtualIbanEntrySuccessPayload

Fields
Field Name Description
virtualIbanEntry - VirtualIBANEntry!
Example
{"virtualIbanEntry": VirtualIBANEntry}

CanceledFundingSourceReason

Description

Funding Source Canceled Reason

Values
Enum Value Description

UserCanceled

User has canceled his funding source

MandateExpired

Underlying mandate has expired

MandateCanceled

Underlying mandate has been canceled
Example
"UserCanceled"

CanceledFundingSourceStatusInfo

Description

Funding Source Canceled status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Canceled status
enabledAt - Date Date at which the funding source was enabled
canceledAt - Date! Date at which the funding source was canceled
reasonCode - CanceledFundingSourceReason! Reason code of the cancellation
Example
{
  "status": "Pending",
  "enabledAt": "2007-12-03",
  "canceledAt": "2007-12-03",
  "reasonCode": "UserCanceled"
}

CanceledMerchantPaymentMethodStatusInfo

Description

CanceledMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
canceledAt - Date! Merchant Payment Method canceled date
Example
{
  "status": "PendingReview",
  "canceledAt": "2007-12-03"
}

CanceledMerchantProfileStatusInfo

Description

CanceledMerchantProfileStatusInfo

Fields
Field Name Description
status - MerchantProfileStatus!
canceledAt - Date!
enabledAt - Date
Example
{
  "status": "PendingReview",
  "canceledAt": "2007-12-03",
  "enabledAt": "2007-12-03"
}

CanceledTransactionStatusInfo

Description

Canceled transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
canceledDate - DateTime The date when the transaction was canceled
Example
{
  "status": "Booked",
  "canceledDate": "2007-12-03T10:15:30Z"
}

CannotActivatePhysicalCardRejection

Description

Rejection returned when the Physical Card cannot be activated

Fields
Field Name Description
message - String!
identifier - String!
Example
{
  "message": "xyz789",
  "identifier": "xyz789"
}

CapitalDepositCase

Description

Capital deposit case for a company.

Fields
Field Name Description
id - String! Unique identifier of a capital deposit case.
shareholders - [Shareholder!]! List of the company’s shareholders.
totalCapitalDepositAmount - Amount! Amount of the capital deposit.
companyName - String! Name of the company.
companyOnboarding - Onboarding Onboarding information of the company.
companyAccountId - String Unique identifier of the company account.
status - CapitalDepositCaseStatus! Status of the capital deposit case.
documents - [CapitalDepositDocument!]! Documents to provide to fulfill the capital deposit case.
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": "abc123",
  "shareholders": [Shareholder],
  "totalCapitalDepositAmount": Amount,
  "companyName": "xyz789",
  "companyOnboarding": Onboarding,
  "companyAccountId": "abc123",
  "status": "Initiated",
  "documents": [CapitalDepositDocument],
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

CapitalDepositCaseConnection

Description

Implements the Relay Connection interface, used to paginate list of elements ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [CapitalDepositCaseEdge!]! CapitalDepositCaseEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [CapitalDepositCaseEdge]
}

CapitalDepositCaseEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this capital deposit case node in the pagination mechanism
node - CapitalDepositCase! The CapitalDepositCase
Example
{
  "cursor": "xyz789",
  "node": CapitalDepositCase
}

CapitalDepositCaseFiltersInput

Description

Filters that can be applied when listing capital deposit cases

Fields
Input Field Description
search - String

Searches company shareholder name, individual shareholder first name, last name, and id

status - [CapitalDepositCaseStatus!]

Status we want to filter on

Example
{
  "search": "xyz789",
  "status": ["Initiated"]
}

CapitalDepositCaseOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing capital deposit cases

Values
Enum Value Description

id

createdAt

updatedAt

Example
"id"

CapitalDepositCaseOrderByInput

Description

Order that can be applied when listing capital deposit cases

Fields
Input Field Description
field - CapitalDepositCaseOrderByFieldInput
direction - OrderByDirection
Example
{"field": "id", "direction": "Asc"}

CapitalDepositCaseStatus

Description

Status of a capital deposit case.

Values
Enum Value Description

Initiated

Technical state when the mutation to create a new capital deposit case is called.

WaitingForRequirements

A new capital deposit case is created and Swan is waiting for the required information to be provided and each shareholder to wire its share of share capital.

WaitingForShareDepositCertificate

Swan is waiting for the notary to provide the Share Deposit Certificate.

WaitingForRegisterExtract

Swan is waiting for you to provide the Register Extract.

WaitingForNotaryTransfer

Swan is waiting for the notary to wire the share capital on the account of the company being registered.

Completed

The capital deposit case is completed.
Example
"Initiated"

CapitalDepositDocument

Description

Document provided for a capital deposit case.

Fields
Field Name Description
id - String! Unique identifier of a document.
type - CapitalDepositDocumentType! Type of the document.
downloadUrl - String Url to download the document, null if it has not already been uploaded.
uploadedAt - Date Date when the last version of the document has been uploaded.
status - CapitalDepositDocumentStatus! Status of the document.
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": "abc123",
  "type": "ArticlesOfIncorporation",
  "downloadUrl": "abc123",
  "uploadedAt": "2007-12-03",
  "status": "Pending",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

CapitalDepositDocumentCanNotBeUploaded

Description

Rejection returned if the document from a capital deposit case cannot be uploaded in its context

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

CapitalDepositDocumentStatus

Description

Status of the Capital Deposit Case

Values
Enum Value Description

Pending

Document is not uploaded yet.

Uploaded

Document has been uploaded but not verified by Swan yet.

Validated

Document has been uploaded and verified by Swan.

Refused

Document has been refused by Swan, it must be uploaded again.
Example
"Pending"

CapitalDepositDocumentType

Description

Type of the document.

Values
Enum Value Description

ArticlesOfIncorporation

Legal document required for company’s formation.

RegisterExtract

Commercial registry extract issued within the last 3 months.

ProofOfIdentity

Can be either passport, national id card or resident permit.

CorporateIncomeTaxReturn

Document submitted to your tax bureau at the end of the last business period.

ProofOfIndividualAddress

Can be a utility bill (water, electricity or gas), a telephone bill or a rental receipt. The document must have been issued within the last 3 months.

CompanyLeaseAgreement

Lease agreement in the name of the business or Proof of Individual Address if the company is hosted by one of the legal representative.

CapitalShareDepositCertificate

Created by the Notary, it certify the capital of the company to have been deposited with the appropriate share for each shareholder.

PowerOfAttorney

Signed power of attorney document to give the power to act on behalf.
Example
"ArticlesOfIncorporation"

Card

Description

Card

Fields
Field Name Description
id - ID! Unique identifier of a card
type - CardType! Type of a card
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
accountMembership - AccountMembership! Account membership to define the card holder and the account linked to the card.
mainCurrency - Currency! Main Currency
cardContractExpiryDate - DateTime Card expiration date if null it does not have an expiration date
cardDesignUrl - String! URL of the card design
cardUrl - String! URL of the card with masked card information (like its number) and with full card information if connected user consented beforehand
statusInfo - CardStatusInfo! Card status information
withdrawal - Boolean! true if this card allows cash withdrawals
international - Boolean! true if this card allows payments outside of the country
nonMainCurrencyTransactions - Boolean! true if this card allows transactions outside of the card's main currency
eCommerce - Boolean! true if this card allows transactions at eCommerce sites
spendingLimits - [SpendingLimit!] Periodic Spending limit list
physicalCard - PhysicalCard Physical card if the card holder has ordered one
cardMaskedNumber - String! Masked Card Number
expiryDate - String Card expiry date with MM/YY format
name - String Card name
cardProduct - CardProduct! Card product
issuingCountry - CCA3! Issuing Country
digitalCards - DigitalCardConnection! Digital Cards linked to this card
Arguments
first - Int!
after - String
orderBy - DigitalCardOrderByInput

When the list of elements needs to be ordered

filters - DigitalCardFiltersInput

When the list of elements needs to be filtered

transactions - TransactionConnection List of transactions of a card.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

spending - Spending Periodic Spending
Example
{
  "id": 4,
  "type": "Virtual",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "accountMembership": AccountMembership,
  "mainCurrency": "USD",
  "cardContractExpiryDate": "2007-12-03T10:15:30Z",
  "cardDesignUrl": "abc123",
  "cardUrl": "abc123",
  "statusInfo": CardStatusInfo,
  "withdrawal": false,
  "international": true,
  "nonMainCurrencyTransactions": false,
  "eCommerce": false,
  "spendingLimits": [SpendingLimit],
  "physicalCard": PhysicalCard,
  "cardMaskedNumber": "xyz789",
  "expiryDate": "abc123",
  "name": "xyz789",
  "cardProduct": CardProduct,
  "issuingCountry": CCA3,
  "digitalCards": DigitalCardConnection,
  "transactions": TransactionConnection,
  "spending": Spending
}

CardCanNotBeDigitalizedRejection

Description

Rejection returned if the card could not be digitalized

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "abc123"
}

CardCanceledStatusInfo

Description

Card Canceled Status Information

Fields
Field Name Description
status - CardStatus! Card status (always Canceled for type CardCanceledStatusInfo).
reason - String! Reason why the card is canceled
Example
{
  "status": "ConsentPending",
  "reason": "abc123"
}

CardCancelingStatusInfo

Description

Card Canceling Status Information

Fields
Field Name Description
status - CardStatus! Card status (always Canceling for type CardCancelingStatusInfo).
reason - String! Reason why the card is about to be canceled.
Example
{
  "status": "ConsentPending",
  "reason": "xyz789"
}

CardConfidential

Fields
Field Name Description
pan - String! card number
cvv - String! card verification value
expiryDate - String! expiration date
Example
{
  "pan": "abc123",
  "cvv": "abc123",
  "expiryDate": "abc123"
}

CardConfigInput

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership

cardContractExpiryDate - DateTime

Card expiration date if null it does not have an expiration date

withdrawal - Boolean!

true if this card allows cash withdrawals

international - Boolean!

true if this card allows payments outside of the country

nonMainCurrencyTransactions - Boolean!

true if this card allows transactions outside of the card's main currency

eCommerce - Boolean!

true if this card allows transactions at eCommerce sites

name - String

Card name

spendingLimit - SpendingLimitInput!

spending limit

physicalCard - PhysicalCardConfigInput

if used a physical card will be printed and sent to the inputed address

Example
{
  "accountMembershipId": 4,
  "cardContractExpiryDate": "2007-12-03T10:15:30Z",
  "withdrawal": false,
  "international": true,
  "nonMainCurrencyTransactions": true,
  "eCommerce": false,
  "name": "abc123",
  "spendingLimit": SpendingLimitInput,
  "physicalCard": PhysicalCardConfigInput
}

CardConfigWithGroupDeliveryInput

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership

cardContractExpiryDate - DateTime

Card expiration date if null it does not have an expiration date

withdrawal - Boolean!

true if this card allows cash withdrawals

international - Boolean!

true if this card allows payments outside of the country

nonMainCurrencyTransactions - Boolean!

true if this card allows transactions outside of the card's main currency

eCommerce - Boolean!

true if this card allows transactions at eCommerce sites

name - String

Card name

spendingLimit - SpendingLimitInput!

spending limit

printPhysicalCard - Boolean!

true when you wish for print an associated physical card

physicalCardCustomOptions - PhysicalCardCustomOptionsForGroupDeliveryInput

Custom options to use for physical cards.

Example
{
  "accountMembershipId": 4,
  "cardContractExpiryDate": "2007-12-03T10:15:30Z",
  "withdrawal": true,
  "international": true,
  "nonMainCurrencyTransactions": true,
  "eCommerce": true,
  "name": "abc123",
  "spendingLimit": SpendingLimitInput,
  "printPhysicalCard": false,
  "physicalCardCustomOptions": PhysicalCardCustomOptionsForGroupDeliveryInput
}

CardConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [CardEdge!]! CardEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [CardEdge]
}

CardConsentPendingStatusInfo

Description

when the user has to consent to add this card

Fields
Field Name Description
status - CardStatus! Card status (always ConsentPending for type CardConsentPendingStatusInfo)
consent - Consent! The consent required to add this card
Example
{"status": "ConsentPending", "consent": Consent}

CardDesignBackground

Fields
Field Name Description
id - ID! Unique identifier of a project card design background
name - String! Card design background name
type - String! Card design background type
cardTextColor - String! Card design background text color
cardBackgroundUrl - String! Card design background url
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": 4,
  "name": "xyz789",
  "type": "abc123",
  "cardTextColor": "xyz789",
  "cardBackgroundUrl": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

CardDesignStatus

Description

Card designs Status

Values
Enum Value Description

Draft

when card design are in Draft

Enabled

when card design are Enabled

Disabled

when card design are Disabled

ToReview

when card design are ToReview
Example
"Draft"

CardEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - Card! The Card entry
Example
{
  "cursor": "abc123",
  "node": Card
}

CardEnabledStatusInfo

Description

Card Enabled Status Information

Fields
Field Name Description
status - CardStatus! Card status (always Enabled for type CardEnabledStatusInfo).
Example
{"status": "ConsentPending"}

CardFiltersInput

Description

Filters that can be applied when listing cards

Fields
Input Field Description
status - CardStatus

The status of the card.

@deprecated(reason: "use statuses instead")

statuses - [CardStatus!]

Statuses of the card.

type - CardType

Type of card

@deprecated(reason: "use types instead")

types - [CardType!]

Types of card

search - String

String searched

accountId - String

Account identifier

This filter is only available for User Access Token, for the moment

Example
{
  "status": "ConsentPending",
  "statuses": ["ConsentPending"],
  "type": "Virtual",
  "types": ["Virtual"],
  "search": "abc123",
  "accountId": "abc123"
}

CardNotFoundRejection

Description

Rejection returned if the card was not found or if the user does not have the rights to know that the account exists

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

CardOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing cards

Values
Enum Value Description

id

createdAt

updatedAt

Example
"id"

CardOrderByInput

Description

Order that can be applied when listing cards

Fields
Input Field Description
field - CardOrderByFieldInput
direction - OrderByDirection
Example
{"field": "id", "direction": "Asc"}

CardProcessingStatusInfo

Description

when the card is in the process of being ready to use

Fields
Field Name Description
status - CardStatus! Card status (always Processing for type CardProcessingStatusInfo)
Example
{"status": "ConsentPending"}

CardProduct

Description

Card Product

Fields
Field Name Description
id - ID!
name - String
projectId - ID!
status - CardProductStatus!
createdAt - DateTime!
updatedAt - DateTime!
applicableToPhysicalCards - Boolean!
cardDesigns - [CardProductDesign!]!
defaultCardProduct - Boolean!
individualSpendingLimit - SpendingLimit!
companySpendingLimit - SpendingLimit!
Example
{
  "id": "4",
  "name": "xyz789",
  "projectId": "4",
  "status": "PendingReview",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "applicableToPhysicalCards": false,
  "cardDesigns": [CardProductDesign],
  "defaultCardProduct": true,
  "individualSpendingLimit": SpendingLimit,
  "companySpendingLimit": SpendingLimit
}

CardProductDesign

Description

Card design of a Card Product

Fields
Field Name Description
id - ID! Unique identifier of a card design
version - Int! Design version
cardProjectLogoSvgUrl - String Logo url svg
cardProjectLogo300dpiUrl - String Logo url 300 dpi
cardProjectLogo600dpiUrl - String Logo url 300 dpi
zoomRatioProjectLogo - Int Zoom level
cardDesignUrl - String Card Design URL
accentColor - String! Accent color
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
status - CardDesignStatus! Status of the card design
cardBackground - CardDesignBackground! Card Background of the Card design
Example
{
  "id": "4",
  "version": 987,
  "cardProjectLogoSvgUrl": "xyz789",
  "cardProjectLogo300dpiUrl": "abc123",
  "cardProjectLogo600dpiUrl": "xyz789",
  "zoomRatioProjectLogo": 987,
  "cardDesignUrl": "abc123",
  "accentColor": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "status": "Draft",
  "cardBackground": CardDesignBackground
}

CardProductDisabledRejection

Description

Rejection returned if the card product is disabled.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

CardProductNotApplicableToPhysicalCardsRejection

Description

Rejection returned if the card product is not applicable to physical card.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

CardProductStatus

Description

Card Product Status

Values
Enum Value Description

PendingReview

When card product is waiting for review

Enabled

When card product is Enabled

Suspended

When card product is suspended

Disabled

When card product is suspended
Example
"PendingReview"

CardProductSuspendedRejection

Description

Rejection returned if the card product is suspended.

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

CardSettings

Description

Card settings for a Project

Fields
Field Name Description
id - ID! Unique identifier of a project card settings
allowsApplePay - Boolean! Flag used to indicate if ApplePay is activated for the project No longer supported
version - Int! Settings version
cardProjectLogoSvgUrl - String Logo url svg
cardProjectLogo300dpiUrl - String Logo url 300 dpi
cardProjectLogo600dpiUrl - String Logo url 300 dpi
zoomRatioProjectLogo - Int Zoom level
cardDesignUrl - String Card Design URL
accentColor - String! Accent color
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
status - ProjectCardStatus! Status of the card settings
cardBackground - CardSettingsBackground! Card Background of the Card Settings
Example
{
  "id": 4,
  "allowsApplePay": false,
  "version": 123,
  "cardProjectLogoSvgUrl": "abc123",
  "cardProjectLogo300dpiUrl": "xyz789",
  "cardProjectLogo600dpiUrl": "xyz789",
  "zoomRatioProjectLogo": 987,
  "cardDesignUrl": "xyz789",
  "accentColor": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "status": "Initiated",
  "cardBackground": CardSettingsBackground
}

CardSettingsBackground

Fields
Field Name Description
id - ID! Unique identifier of a project card settings
name - String! Card settings background name
type - String! Card settings background type
cardTextColor - String! Card settings background text color
cardBackgroundUrl - String! Card settings background url
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": 4,
  "name": "xyz789",
  "type": "xyz789",
  "cardTextColor": "abc123",
  "cardBackgroundUrl": "abc123",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

CardStatus

Description

Card Status

Values
Enum Value Description

ConsentPending

when the consent to add this card is pending

Processing

when the card is in the process of being ready to use

Enabled

when the card is enabled

Canceled

when the card is canceled

Canceling

when the card is about to be canceled
Example
"ConsentPending"

CardStatusInfo

Description

Card Status Information

Fields
Field Name Description
status - CardStatus! Status of the card.
Example
{"status": "ConsentPending"}

CardTransaction

Description

Card transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! external identifier of the transaction
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
maskedPan - String! card numbers masked (Primary Account Number)
cardId - String! unique identifier of the card
card - Card! card used for this transaction
terminalId - String! unique identifier of the terminal
originalAmount - Amount! original amount and currency of the transaction
currencyExchange - [ReportExchangeRate!]! currency exchange if any
merchantId - String! unique identifier of the merchant
merchantName - String! merchant name
merchantCity - String! merchant city
merchantCountry - CCA3 merchant country
merchantCategoryCode - String! merchant category code (MCC)
merchantCategoryDescription - MerchantCategoryDescription! merchant category description Enum that explains what the MCC corresponds to in a more readable way
category - Category! category of the payment flow
authorizationType - AuthorizationType

type of the authorization. Only available for:

  • authorization transaction
  • debit transaction linked to a previous authorization transaction
account - Account matching account for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
Example
{
  "id": "4",
  "reference": "xyz789",
  "paymentMethodIdentifier": "xyz789",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "abc123",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "maskedPan": "abc123",
  "cardId": "abc123",
  "card": Card,
  "terminalId": "abc123",
  "originalAmount": Amount,
  "currencyExchange": [ReportExchangeRate],
  "merchantId": "abc123",
  "merchantName": "xyz789",
  "merchantCity": "abc123",
  "merchantCountry": CCA3,
  "merchantCategoryCode": "abc123",
  "merchantCategoryDescription": "AccessoryAndApparelStoresMiscellaneous",
  "category": "InStore",
  "authorizationType": "Classic",
  "account": Account,
  "externalReference": "abc123",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "abc123",
  "originTransaction": Transaction
}

CardType

Description

Card Type

Values
Enum Value Description

Virtual

When card is Virtual

VirtualAndPhysical

When card is Virtual and Physical

SingleUseVirtual

When card is Single Use Virtual
Example
"Virtual"

CashAccountType

Description

Cash account type (Always Current)

Values
Enum Value Description

Current

When the account is a current account.

CashPayment

Charges

CashIncome

Commission

ClearingParticipantSettlementAccount

LimitedLiquiditySavingsAccount

Loan

MarginalLending

MoneyMarket

NonResidentExternal

Overdraft

OverNightDeposit

OtherAccount

Settlement

Salary

Savings

Tax

TransactingAccount

CashTrading

Example
"Current"

Category

Description

Payment flow available options

Values
Enum Value Description

InStore

In store payment

eCommerce

Online (remote) payment

eCommerceWith3DS

Secured online (remote) payment

Withdrawal

Cash withdraw (atm)

Other

Other payment
Example
"InStore"

Certificate

Description

Certificate

Fields
Input Field Description
key - String!

CertificateType

Can be either LEAF or INTERMEDIATE

value - String!

Base64 value of the certificate

Example
{
  "key": "xyz789",
  "value": "abc123"
}

CheckMerchantPaymentMethod

Description

CheckMerchantPaymentMethod

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
Example
{
  "id": 4,
  "type": "InternalDirectDebitStandard",
  "productId": 4,
  "methodId": "4",
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 123,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve
}

CheckPaymentCollectionInput

Fields
Input Field Description
merchantProfileId - ID!

ID of the Merchant profile associated to the Swan creditor account

cmc7 - String!

31-caracter unique identifier located at the bottom of the check. CMC7 is composed of 3 sections (check number (7 char.), check issuing bank code (12 char.), check holder account number (12 char.)). Combined with RLMC key, it allows the check traceability.

rlmcKey - String!

2-digit key used to check the integrity of the CMC7 line, located at the bottom right of the check. Combined with CMC7 line, it allows the check traceability.

Example
{
  "merchantProfileId": "4",
  "cmc7": "abc123",
  "rlmcKey": "xyz789"
}

CheckPaymentMethodInput

Fields
Input Field Description
activate - Boolean

Determine whether the payment method must be activated or not

Example
{"activate": true}

CheckTransaction

Description

Check transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction: check number
cmc7 - String! 31-caracter unique identifier located at the bottom of the check. CMC7 is composed of 3 sections (check number (7 char.), check issuing bank code (12 char.), check holder account number (12 char.)). Combined with RLMC key, it allows the check traceability.
rlmcKey - String! 2-digit key used to check the integrity of the CMC7 line, located at the bottom right of the check. Combined with CMC7 line, it allows the check traceability.
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
account - Account matching account for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
reservedAmount - Amount reserved amount of the transaction computed with the rolling reserve.
reservedAmountReleasedAt - DateTime date on which reserved funds become available
Example
{
  "id": "4",
  "reference": "xyz789",
  "paymentMethodIdentifier": "abc123",
  "cmc7": "xyz789",
  "rlmcKey": "abc123",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "abc123",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "account": Account,
  "externalReference": "xyz789",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "abc123",
  "originTransaction": Transaction,
  "reservedAmount": Amount,
  "reservedAmountReleasedAt": "2007-12-03T10:15:30Z"
}

CloseAccountInput

Fields
Input Field Description
accountId - ID!
reason - PartnerCloseAccountReasonInput!
consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "accountId": "4",
  "reason": PartnerCloseAccountReasonInput,
  "consentRedirectUrl": "abc123"
}

CloseAccountPayload

CloseAccountReason

Description

Define a reason with a message and a specific type for closing account action

Fields
Field Name Description
type - CloseAccountReasonType!
message - String
Example
{
  "type": "ComplianceReason",
  "message": "abc123"
}

CloseAccountReasonType

Description

Specific type for closing account action

Values
Enum Value Description

ComplianceReason

Compliance Reason

PartnerReason

Partner Reason

Inactivity

Inactivity
Example
"ComplianceReason"

CloseAccountStatusReason

Description

Union between PartnerCloseAccountReasonType and InternalCloseAccountReason

Types
Union Types

CloseAccountReason

Example
CloseAccountReason

CloseAccountSuccessPayload

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

CompanyShareholder

Description

Company shareholder infos.

Fields
Field Name Description
type - ShareholderType! Whether the shareholder is an individual or a company.
name - String! Company name.
Example
{"type": "Individual", "name": "abc123"}

CompanyType

Description

Type of company.

Values
Enum Value Description

Association

Company

HomeOwnerAssociation

Other

SelfEmployed

Example
"Association"

CompleteAddressInput

Description

Complete Address Information

Fields
Input Field Description
addressLine1 - String!

address line 1 (max 38 characters)

addressLine2 - String

address line 2 (max 38 characters)

city - String!

city (max 30 characters)

postalCode - String!

postal code (max 10 characters)

state - String

state (max 30 characters)

country - CCA3!

country code

Example
{
  "addressLine1": "xyz789",
  "addressLine2": "abc123",
  "city": "xyz789",
  "postalCode": "abc123",
  "state": "xyz789",
  "country": CCA3
}

CompleteAddressWithContactInput

Description

Complete Address Information with a contact

Fields
Input Field Description
addressLine1 - String!

address line 1 (max 38 characters)

addressLine2 - String

address line 2 (max 38 characters)

city - String!

city (max 30 characters)

postalCode - String!

postal code (max 10 characters)

state - String

state (max 30 characters)

country - CCA3!

country code

firstName - String!

contact first name

lastName - String!

contact last name

phoneNumber - PhoneNumber!

contact phone number

companyName - String

contact company name (max 38 characters)

Example
{
  "addressLine1": "abc123",
  "addressLine2": "abc123",
  "city": "abc123",
  "postalCode": "abc123",
  "state": "abc123",
  "country": CCA3,
  "firstName": "abc123",
  "lastName": "xyz789",
  "phoneNumber": "+17895551234",
  "companyName": "abc123"
}

CompleteDigitalCard

Description

Complete Digital Card used for ApplePay or GooglePay

Once the pending phase is over, more data will be available in the response

Fields
Field Name Description
id - ID! Unique identifier of a digital card
type - DigitalizationType! The type of digitalization that created this digital card.
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
walletProvider - WalletProvider! Wallet Provider (ApplePay, GooglePay ...)
device - Device! Device In case of a wallet application, some information about the device will be provided
walletId - String Id of the wallet application. Will not be present for Merchant
cardMaskedNumber - String!

Masked DPAN with the last four digits visible

This value is present in the user wallet application

statusInfo - CompleteDigitalCardStatusInfo!

Digital Card status information

In this type the status will be either ConsentPending or Pending

Example
{
  "id": 4,
  "type": "Manual",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "walletProvider": WalletProvider,
  "device": Device,
  "walletId": "xyz789",
  "cardMaskedNumber": "xyz789",
  "statusInfo": CompleteDigitalCardStatusInfo
}

CompleteDigitalCardStatus

Description

Complete Digital Card Status

Values
Enum Value Description

Enabled

when the digital card is enabled

Suspended

when the digital card is suspended

the transactions will be blocked

Canceled

when the digital card is canceled

this is a final state

Example
"Enabled"

CompleteDigitalCardStatusInfo

Description

Complete Digital Card Status Information

Fields
Field Name Description
status - CompleteDigitalCardStatus! Status of the digital card.
Example
{"status": "Enabled"}

Connection

ConsentConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [ConsentEdge!]! ConsentEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [ConsentEdge]
}

ConsentEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this consent node in the pagination mechanism
node - Consent! The consent
Example
{
  "cursor": "xyz789",
  "node": Consent
}

ConsentIdWithOrder

Description

Consent ID with related execution order

Fields
Input Field Description
order - Int!

Execution order. Consents are granted in ascending order. Consents with the same order may be granted in parallel.

consentId - String!

Consent ID

Example
{"order": 123, "consentId": "xyz789"}

ConsentNotFoundRejection

Description

Rejection returned if a consent was not found

Fields
Field Name Description
message - String!
consentId - String!
Example
{
  "message": "xyz789",
  "consentId": "xyz789"
}

ConsentPurpose

Description

Purpose of a consent

Values
Enum Value Description

AcceptPartnershipConditions

when accepting the partnership conditions

AddAccountMembership

when inviting a new account membership

AddAccountMemberships

when adding several account memberships

AddBeneficiary

when adding a beneficiary

AddCard

when adding a virtual card

AddCards

when adding multiple cards

AddDigitalCard

when adding a digital card

ActivatePhysicalCard

when activating a physical card

CloseAccount

when closing an account

InitPayment

when initiating a credit transfer

PrintPhysicalCard

when requesting to print physical card

ResumeAccountMembership

when resuming an account membership

ResumePhysicalCard

when resuming a physical card

ScheduleStandingOrder

when scheduling a standing order

UpdateAccountMembership

when updating an account membership

UpdateCard

when updating a card

UpdateServerConsentProjectSettings

when updating a server consent project settings

ViewCardNumbers

when viewing card confidential of a virtual card

ViewPhysicalCardPin

when requesting to view physical card PIN

EnableMandate

when enabling a mandate

AddDirectDebitPaymentMandate

when adding a payment direct debit mandate

InitiateFundingRequest

when initiating a funding request

InitiateInstantFundingRequest

when initiating an instant funding request

InitiateInternationalCreditTransfer

when initiating an international credit transfer

ConsentToMultipleConsents

when the consent is a multiple consent
Example
"AcceptPartnershipConditions"

ConsentStatus

Description

Status of a consent

Values
Enum Value Description

Accepted

when the user accepted

CustomerRefused

when the user refused

OperationCommitting

when the operation is committing

CredentialRefused

when the user credentials were refused

Created

when the consent is created

Started

when the consentUrl has been requested

Expired

when the consent is expired

Failed

when something went wrong

Canceled

when the user or the project decided to cancel the consent
Example
"Accepted"

ConsentTypeNotSupportedByServerConsentRejection

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ConsentsAlreadyLinkedToMultiConsentRejection

Description

Rejection returned when a the consent is already linked to another multi consent

Fields
Field Name Description
message - String!
consentIds - [String!]! IDs of the consents that are already linked to another multi consent
Example
{
  "message": "abc123",
  "consentIds": ["xyz789"]
}

ConsentsFiltersInput

Fields
Input Field Description
userId - String
Example
{"userId": "xyz789"}

ConsentsNotAllInCreatedStatusRejection

Description

Rejection returned when all provided consents are not in created status

Fields
Field Name Description
message - String!
consentIds - [String!]! IDs of the consents that are not in created status
Example
{
  "message": "xyz789",
  "consentIds": ["xyz789"]
}

ConsentsNotFoundRejection

Description

Rejection returned when a consent ID passed as input does not exist.

Fields
Field Name Description
message - String!
ids - [String!]!
Example
{
  "message": "xyz789",
  "ids": ["abc123"]
}

CreateCapitalDepositCaseInput

Description

Inputs to create a capital deposit case.

Fields
Input Field Description
companyName - String!

Name ("Dénomination sociale") of the company being registered and for which the capital is being deposited.

companyShareholders - [OnboardCompanyShareholderInput]!

Array of shareholders of type company ("personne morale").

individualShareholders - [OnboardIndividualShareholderInput]!

Array of shareholders of type individual ("personne physique").

totalCapitalDepositAmount - AmountInput!

Amount of the capital deposit.

onboardingCapitalDepositCompany - OnboardCompanyAccountHolderInput!

Information required for the onboarding of a company.

Example
{
  "companyName": "xyz789",
  "companyShareholders": [OnboardCompanyShareholderInput],
  "individualShareholders": [
    OnboardIndividualShareholderInput
  ],
  "totalCapitalDepositAmount": AmountInput,
  "onboardingCapitalDepositCompany": OnboardCompanyAccountHolderInput
}

CreateCapitalDepositCasePayload

Example
CreateCapitalDepositCaseSuccessPayload

CreateCapitalDepositCaseSuccessPayload

Fields
Field Name Description
capitalDepositCase - CapitalDepositCase!
Example
{"capitalDepositCase": CapitalDepositCase}

CreateMultiConsentInput

Description

Input of the createMultiConsent mutation

Fields
Input Field Description
orderedConsentIds - [ConsentIdWithOrder!]!

A list of consent IDs with their related execution orders

redirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "orderedConsentIds": [ConsentIdWithOrder],
  "redirectUrl": "xyz789"
}

CreateMultiConsentPayload

Example
CreateMultiConsentSuccessPayload

CreateMultiConsentSuccessPayload

Description

Success payload of the createMultiConsent mutation

Fields
Field Name Description
consent - Consent
Example
{"consent": Consent}

CreditTransferInput

Description

Credit transfer

Fields
Input Field Description
beneficiaryId - ID

if the transfer will credit a beneficiary already created

swanAccountBeneficiary - SwanAccountBeneficiaryInput

if the transfer will credit a new swan account beneficiary

sepaBeneficiary - SepaBeneficiaryInput

if the transfer will credit a new SEPA beneficiary

amount - AmountInput!

amount of the transfer

reference - String

reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain. (regex [A-Za-z0-9(\-)(\_)(\?)(\.)(\+),' ]{1,35})

label - String

label (max 140 characters)

requestedExecutionAt - DateTime

requested date at which the credit transfer will try to be executed, if null the credit transfer is executed right away

externalReference - String

an arbitrary identifier that you can define to easily identify this transaction later

isInstant - Boolean

DEPRECATED if the transfer will execute as instant

mode - CreditTransferMode

if the transfer will execute as instant and fallbacked to a regular one if an error happend during the instant transfer

Example
{
  "beneficiaryId": "4",
  "swanAccountBeneficiary": SwanAccountBeneficiaryInput,
  "sepaBeneficiary": SepaBeneficiaryInput,
  "amount": AmountInput,
  "reference": "xyz789",
  "label": "abc123",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "externalReference": "abc123",
  "isInstant": true,
  "mode": "InstantWithoutFallback"
}

CreditTransferMode

Values
Enum Value Description

InstantWithoutFallback

InstantWithFallback

Regular

Example
"InstantWithoutFallback"

CsvStatement

Description

Custom information for a CSV statement

Fields
Field Name Description
type - StatementType statement type
url - String temporary public url on which the file can be accessed
expiresAt - DateTime date at which the link will not be useable anymore
Example
{
  "type": "PDF",
  "url": "abc123",
  "expiresAt": "2007-12-03T10:15:30Z"
}

Currency

Description

currency code alpha 3 (ISO 4217)

Example
"USD"

Date

Description

Date with YYYY-MM-DD format

Example
"2007-12-03"

DateField

Fields
Field Name Description
example - String
key - String!
name - String!
required - Boolean!
validationRegex - String
Example
{
  "example": "abc123",
  "key": "xyz789",
  "name": "abc123",
  "required": true,
  "validationRegex": "xyz789"
}

DateTime

Description

Date time (ISO 8601 with time information) ex: 2021-04-12T16:28:22.867Z

Example
"2007-12-03T10:15:30Z"

DebtorAccountClosedRejection

Description

Rejection returned when the Debtor is closed

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

DebtorAccountNotAllowedRejection

Description

Rejection returned when the Debtor does not belong to the same project as the creditor

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

DeleteSupportingDocumentInput

Fields
Input Field Description
id - ID!

Id of the supporting document to delete

Example
{"id": 4}

DeleteSupportingDocumentPayload

DeleteSupportingDocumentSuccessPayload

Fields
Field Name Description
id - String!
Example
{"id": "xyz789"}

DenySddInput

Fields
Input Field Description
accountId - ID!
Example
{"accountId": "4"}

DenySddPayload

DenySddSuccessPayload

Fields
Field Name Description
account - Account!
Example
{"account": Account}

DenySddVirtualIbanEntryInput

Fields
Input Field Description
ibanEntryId - ID!
Example
{"ibanEntryId": 4}

DenySddVirtualIbanEntryPayload

Example
DenySddVirtualIbanEntrySuccessPayload

DenySddVirtualIbanEntrySuccessPayload

Fields
Field Name Description
virtualIbanEntry - VirtualIBANEntry!
Example
{"virtualIbanEntry": VirtualIBANEntry}

Device

Description

Device

Fields
Field Name Description
type - String The type of device. It can be a Phone, Tablet, Watch
name - String Device name End user defined name of the device on which the card id provided
SEID - String Secure Element ID
Example
{
  "type": "xyz789",
  "name": "xyz789",
  "SEID": "abc123"
}

DigitalCard

Description

Digital Card used for ApplePay or GooglePay

Fields
Field Name Description
id - ID! Unique identifier of a digital card
type - DigitalizationType! The type of digitalization that created this digital card.
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
walletProvider - WalletProvider! Wallet Provider (ApplePay, GooglePay ...)
Possible Types
DigitalCard Types

CompleteDigitalCard

PendingDigitalCard

Example
{
  "id": "4",
  "type": "Manual",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "walletProvider": WalletProvider
}

DigitalCardCanceledStatusInfo

Description

Digital Card Canceled Status Information

Fields
Field Name Description
status - CompleteDigitalCardStatus! Card status (always Canceled for type DigitalCardCanceledStatusInfo).
enabledAt - DateTime! Enable Date
canceledAt - DateTime! Cancel Date
Example
{
  "status": "Enabled",
  "enabledAt": "2007-12-03T10:15:30Z",
  "canceledAt": "2007-12-03T10:15:30Z"
}

DigitalCardConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [DigitalCardEdge!]! CardEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [DigitalCardEdge]
}

DigitalCardConsentPendingStatusInfo

Description

Digital Card ConsentPending Status Information

Fields
Field Name Description
status - PendingDigitalCardStatus! Digital Card status (always ConsentPending for type DigitalCardConsentPendingStatusInfo).
consent - Consent! A reference to the consent to validate
Example
{"status": "ConsentPending", "consent": Consent}

DigitalCardDeclinedStatusInfo

Description

Digital Card Declined Status Information

Fields
Field Name Description
status - PendingDigitalCardStatus! Digital Card status (always Declined for type DigitalCardDeclinedStatusInfo).
Example
{"status": "ConsentPending"}

DigitalCardEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - DigitalCard! The Card entry
Example
{
  "cursor": "abc123",
  "node": DigitalCard
}

DigitalCardEnabledStatusInfo

Description

Digital Card Enabled Status Information

Fields
Field Name Description
status - CompleteDigitalCardStatus! Digital Card status (always Enabled for type DigitalCardEnabledStatusInfo).
enabledAt - DateTime! Enable Date
Example
{
  "status": "Enabled",
  "enabledAt": "2007-12-03T10:15:30Z"
}

DigitalCardFiltersInput

Description

Filters that can be applied when listing digitalCards

Fields
Input Field Description
id - String

The id of the digitalCard

status - String

The status of the digital card. It can be a CompleteDigitalCardStatus or a PendingDigitalCardStatus

SEID - String

The Secure Element ID Mostly present on APple Devices

cardMaskedNumber - String

The digital card masker number

walletProviderId - String

The ID of the wallet provider in the scheme system

walletProviderName - String

Either ApplePay, GooglePay or Merchant

walletId - String

The wallet application ID in the user phone

Example
{
  "id": "abc123",
  "status": "abc123",
  "SEID": "xyz789",
  "cardMaskedNumber": "abc123",
  "walletProviderId": "abc123",
  "walletProviderName": "xyz789",
  "walletId": "xyz789"
}

DigitalCardNotFoundRejection

Description

Rejection returned when the Digital Card does not exist

Fields
Field Name Description
message - String!
identifier - String!
Example
{
  "message": "xyz789",
  "identifier": "xyz789"
}

DigitalCardOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing digital cards

Values
Enum Value Description

id

createdAt

updatedAt

Example
"id"

DigitalCardOrderByInput

Description

Order that can be applied when listing digital cards

Fields
Input Field Description
field - DigitalCardOrderByFieldInput
direction - OrderByDirection
Example
{"field": "id", "direction": "Asc"}

DigitalCardPendingStatusInfo

Description

Digital Card Pending Status Information

Fields
Field Name Description
status - PendingDigitalCardStatus! Digital Card status (always Pending for type DigitalCardPendingStatusInfo).
Example
{"status": "ConsentPending"}

DigitalCardSuspendedStatusInfo

Description

Digital Card Suspended Status Information

Fields
Field Name Description
status - CompleteDigitalCardStatus! Digital Card status (always Suspended for type DigitalCardSuspendedStatusInfo).
enabledAt - DateTime! Enable Date
suspendedAt - DateTime! Suspend Date
Example
{
  "status": "Enabled",
  "enabledAt": "2007-12-03T10:15:30Z",
  "suspendedAt": "2007-12-03T10:15:30Z"
}

DigitalizationType

Description

Digitalization Type

Values
Enum Value Description

Manual

This digital card was created by direct input of the PAN into a wallet application

This direct input can also be done using the device camera

CardOnFile

This digital card was created based on a PAN stored into a merchant application (ex: iTunes)

InApp

This digital card was created by an in app provisioning

Unknown

We could not get the source of the digitalization
Example
"Manual"

DirectDebitAccountVerification

Description

Direct Debit Account Verification

Fields
Field Name Description
createdAt - DateTime! Creation date of the account verification
iban - IBAN! IBAN of the account to cross check with account holder information
id - ID! Unique identifier of the Account Verification
statusInfo - AccountVerificationStatusInfo! Account Verification Status Information
updatedAt - DateTime! Last update date of the account verification
Example
{
  "createdAt": "2007-12-03T10:15:30Z",
  "iban": "NL55INGB4789170233",
  "id": 4,
  "statusInfo": AccountVerificationStatusInfo,
  "updatedAt": "2007-12-03T10:15:30Z"
}

DirectDebitFundingSource

Description

Funding Source with Direct Debit Mandate

Fields
Field Name Description
id - ID! ID of the Funding Source
name - String Name of the Funding Source
statusInfo - FundingSourceStatusInfo! Funding Source status information
iban - IBAN! IBAN to use in the direct debit transaction that will be triggered when funding the account. Money will be debited from this IBAN when an initiateFundingRequest is done using this funding source
createdAt - DateTime! Created date
updatedAt - DateTime! Last updated date
accountVerification - DirectDebitAccountVerification! Can be queried to check the status of the account verification for this funding source. If the account verification is PendingVerification, you should ask your account holder to wire some money from his external account to any swan account
paymentMandate - PaymentDirectDebitMandate! Can be queried to check the status of payment payment Mandate. If the payment mandate is ConsentPending, you should confirm it to enable this funding source
Example
{
  "id": 4,
  "name": "abc123",
  "statusInfo": FundingSourceStatusInfo,
  "iban": "NL55INGB4789170233",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "accountVerification": DirectDebitAccountVerification,
  "paymentMandate": PaymentDirectDebitMandate
}

DirectDebitSequence

Values
Enum Value Description

OneOff

Recurring

Example
"OneOff"

DisableAccountMembershipInput

Description

Input to disable an account membership

Fields
Input Field Description
accountMembershipId - ID!

Unique identifier of the account membership to disable

Example
{"accountMembershipId": "4"}

DisableAccountMembershipPayload

DisableAccountMembershipSuccessPayload

Fields
Field Name Description
accountMembership - AccountMembership
Example
{"accountMembership": AccountMembership}

DisabledFundingLimitSettingsStatusInfo

Description

StatusInfo when funding limit settings has been disabled

Fields
Field Name Description
status - FundingLimitSettingsStatus!
reason - String!
Example
{"status": "Enabled", "reason": "abc123"}

DisabledMerchantPaymentMethodStatusInfo

Description

EnabledMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
disabledAt - Date! Merchant Payment Method disabled date
Example
{
  "status": "PendingReview",
  "disabledAt": "2007-12-03"
}

Edge

Description

Edge type containing the node and cursor. The node is not defined in the interface because generic is not supported by GraphQL but all implementation contains its own node property according to the paginated type.

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
Example
{"cursor": "abc123"}

EmploymentStatus

Description

Employment status.

Values
Enum Value Description

Craftsman

Employee

Entrepreneur

Farmer

Manager

Practitioner

Retiree

ShopOwner

Student

Unemployed

Example
"Craftsman"

EnableReceivedDirectDebitMandateInput

Description

Inputs to enable a received direct debit mandate, i.e. to move its status back from suspended.

Fields
Input Field Description
receivedDirectDebitMandateId - ID!

The received direct debit id to enable

consentRedirectUrl - String

URL the user is redirected to after consent has been given

Example
{
  "receivedDirectDebitMandateId": "4",
  "consentRedirectUrl": "abc123"
}

EnableReceivedDirectDebitMandatePayload

Description

Union type return by the enableReceivedDirectDebitMandate mutation

Example
EnableReceivedDirectDebitMandateSuccessPayload

EnableReceivedDirectDebitMandateSuccessPayload

Description

Return type in case of a successful response of the enableReceivedDirectDebitMandate mutation

Fields
Field Name Description
receivedDirectDebitMandate - ReceivedDirectDebitMandate! The received direct debit mandate is enable, i.e that it is moved back to from the suspended to the enabled status
Example
{"receivedDirectDebitMandate": ReceivedDirectDebitMandate}

EnabledCardDesignNotFoundRejection

Description

Rejection returned if the card product don't have a card design enabled

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

EnabledFundingLimitSettingsStatusInfo

Description

StatusInfo when the funding limit settings is enabled

Fields
Field Name Description
status - FundingLimitSettingsStatus!
Example
{"status": "Enabled"}

EnabledFundingSourceStatusInfo

Description

Funding Source Enabled status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Enabled status
enabledAt - Date! Date at which the funding source was enabled
Example
{
  "status": "Pending",
  "enabledAt": "2007-12-03"
}

EnabledMerchantPaymentMethodStatusInfo

Description

EnabledMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
enabledAt - Date! Merchant Payment Method enabled date
Example
{
  "status": "PendingReview",
  "enabledAt": "2007-12-03"
}

EnabledMerchantProfileStatusInfo

Description

EnabledMerchantProfileStatusInfo

Fields
Field Name Description
status - MerchantProfileStatus!
enabledAt - Date!
Example
{
  "status": "PendingReview",
  "enabledAt": "2007-12-03"
}

EndCustomerAccountOpeningEmailSettings

Fields
Field Name Description
recipient - AccountOpeningEmailRecipient!
Example
{"recipient": "Partner"}

ExternalAccount

Fields
Field Name Description
id - ID! Unique identifier of an external account
externalId - String! External account identifier following ISO-20022 standard
name - String Name of the account
cashAccountType - CashAccountType! Type of the account
BIC - BIC! Bank Identifier Code
IBAN - IBAN! International Bank Account Number
currency - Currency! Currency
holderName - String! Account Holder name
country - CCA3! Country
originalCreatedAt - DateTime! Original Created date
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
balances - ExternalBalanceConnection! A list of balances regarding an external account.
Arguments
first - Int!
before - String
after - String
source - ExternalAccountDataSource! Source used for this account
institution - FinancialInstitution Financial institution
usage - ExternalAccountUsage! Usage information of the account
accountHolder - AccountHolder Account holder for the external account
Example
{
  "id": "4",
  "externalId": "abc123",
  "name": "xyz789",
  "cashAccountType": "Current",
  "BIC": BIC,
  "IBAN": "NL55INGB4789170233",
  "currency": "USD",
  "holderName": "xyz789",
  "country": CCA3,
  "originalCreatedAt": "2007-12-03T10:15:30Z",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "balances": ExternalBalanceConnection,
  "source": ExternalAccountDataSource,
  "institution": FinancialInstitution,
  "usage": "Private",
  "accountHolder": AccountHolder
}

ExternalAccountAlreadyExistsRejection

Fields
Field Name Description
iban - String!
accountHolderId - String!
message - String!
Example
{
  "iban": "xyz789",
  "accountHolderId": "abc123",
  "message": "xyz789"
}

ExternalAccountBalance

Fields
Field Name Description
id - ID! Unique identifier of an external balance
amount - Amount Amount with currency
type - ExternalAccountBalanceType! Type of Balance
lastChangedAt - DateTime! Last changed Date
Example
{
  "id": "4",
  "amount": Amount,
  "type": "ClosingBooked",
  "lastChangedAt": "2007-12-03T10:15:30Z"
}

ExternalAccountBalanceAlreadyExistsRejection

Fields
Field Name Description
type - ExternalAccountBalanceType!
lastChangedAt - DateTime!
message - String!
Example
{
  "type": "ClosingBooked",
  "lastChangedAt": "2007-12-03T10:15:30Z",
  "message": "abc123"
}

ExternalAccountBalanceInput

Fields
Input Field Description
amount - AmountInput!

Amount with currency

type - ExternalAccountBalanceType!

Type of Balance

lastChangedAt - DateTime!

Last changed Date

Example
{
  "amount": AmountInput,
  "type": "ClosingBooked",
  "lastChangedAt": "2007-12-03T10:15:30Z"
}

ExternalAccountBalanceType

Values
Enum Value Description

ClosingBooked

Balance of the account at the end of the pre-agreed account reporting period

PreviouslyClosedBooked

Balance of the account at the previously closed account reporting period

InterimAvailable

Available balance calculated in the course of the account servicer's business day, at the time specified, and subject to further changes during the business day

Expected

Balance composed of booked entries and pending items known at the time of calculation

ValueDate

Value-date balance

Other

Other balance
Example
"ClosingBooked"

ExternalAccountConnection

Description

Implements the Relay Connection interface, used to paginate the list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of elements in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [ExternalAccountEdge!]! ExternalAccountEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [ExternalAccountEdge]
}

ExternalAccountDataSource

Fields
Field Name Description
type - ExternalAccountDataSourceType!
name - String!
Example
{"type": "Push", "name": "xyz789"}

ExternalAccountDataSourceType

Values
Enum Value Description

Push

When manually added by the partner
Example
"Push"

ExternalAccountEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - ExternalAccount! The external account
Example
{
  "cursor": "abc123",
  "node": ExternalAccount
}

ExternalAccountUsage

Values
Enum Value Description

Private

Association

Organization

Unknown

Example
"Private"

ExternalBalanceConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of elements in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [ExternalBalanceEdge!]! ExternalBalanceEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [ExternalBalanceEdge]
}

ExternalBalanceEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - ExternalAccountBalance! The external balance
Example
{
  "cursor": "abc123",
  "node": ExternalAccountBalance
}

FeeCreditor

Description

Fee creditor

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Possible Types
FeeCreditor Types

FeeInCreditor

FeeOutCreditor

Example
{
  "name": "xyz789",
  "accountNumber": "000000012345"
}

FeeDebtor

Fields
Field Name Description
name - String! full name of the debtor
accountNumber - AccountNumber! account number
Possible Types
FeeDebtor Types

FeeInDebtor

FeeOutDebtor

Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

FeeInCreditor

Description

Fee creditor for Incoming transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

FeeInDebtor

Description

Fee debtor for Incoming transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

FeeOutCreditor

Description

Fee creditor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

FeeOutDebtor

Description

Fee debtor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "xyz789",
  "accountNumber": "000000012345"
}

FeeTransaction

Description

Fee Transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire reference chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
feesType - FeesTypeEnum! feesType
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
creditor - FeeCreditor! creditor information
debtor - FeeDebtor! debtor information
account - Account matching account for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
Example
{
  "id": "4",
  "reference": "xyz789",
  "paymentMethodIdentifier": "abc123",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "feesType": "BankingFee",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "xyz789",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "xyz789",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "creditor": FeeCreditor,
  "debtor": FeeDebtor,
  "account": Account,
  "externalReference": "abc123",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "abc123",
  "originTransaction": Transaction
}

FeesTypeEnum

Description

Fees type

Values
Enum Value Description

BankingFee

Other banking fee

CardPaymentsOutsideSEPA

Card transaction in foreign currency

CashWithdrawalsOutsideSEPA

Cash withdrawal in foreign currency

CashWithdrawalsWithinSEPA

Cash withdrawal

CheckDeposit

Deposit of a physical check

CheckIncident

Rejection or return of a physical check

CirculationLetterDraftingFee

Drafting circulation letter

ConfirmationLetterDraftingFee

Drafting Confirmation letter

DirectDebitRejection

Direct debit rejection

InternationalCreditTransferInGroup1

Incoming credit transfers not denominated and executed in euros on group 1 currencies

InternationalCreditTransferInGroup2

Incoming credit transfers not denominated and executed in euros on group 2 currencies

InternationalCreditTransferInGroup3

Incoming credit transfers not denominated and executed in euros on group 3 currencies

InternationalCreditTransferInGroup4

Incoming credit transfers not denominated and executed in euros on group 4 currencies

InternationalCreditTransferOutGroup1

Outgoing credit transfers not denominated and executed in euros on group 1 currencies

InternationalCreditTransferOutGroup2

Outgoing credit transfers not denominated and executed in euros on group 2 currencies

InternationalCreditTransferOutGroup3

Outgoing credit transfers not denominated and executed in euros on group 3 currencies

InternationalCreditTransferOutGroup4

Outgoing credit transfers not denominated and executed in euros on group 4 currencies

ImproperUseOfAccount

Improper use of account

PhysicalCardDeliveryExpress

Delivery of physical cards with an express delivery provider

PhysicalCardDeliveryFrance

Delivery of physical cards within France

PhysicalCardDeliveryIntl

Delivery of physical cards outside of France

PhysicalCardPrinting

Process of printing physical cards

ProcessingJudicialOrAdministrativeSeizure

Processing judicial or administrative seizure

SepaDirectDebitInB2bLevel1

B2B SEPA Direct Debit up to 200€

SepaDirectDebitInB2bLevel2

B2B SEPA Direct Debit more than 200€

SepaDirectDebitInCoreLevel1

Core SEPA Direct Debit up to 200€

SepaDirectDebitInCoreLevel2

Core SEPA Direct Debit more than 200€

SepaDirectDebitInCoreReturn

Return of a Core SEPA Direct Debit

UnauthorizedOverdraft

Unauthorized overdraft
Example
"BankingFee"

Field

Fields
Field Name Description
key - String!
name - String!
required - Boolean!
Possible Types
Field Types

DateField

RadioField

SelectField

TextField

Example
{
  "key": "abc123",
  "name": "abc123",
  "required": true
}

FieldValidationError

Values
Enum Value Description

Missing

Example
"Missing"

FinalizeOnboardingInput

Fields
Input Field Description
onboardingId - String!
Example
{"onboardingId": "abc123"}

FinalizeOnboardingPayload

FinalizeOnboardingSuccessPayload

Fields
Field Name Description
onboarding - Onboarding!
Example
{"onboarding": Onboarding}

FinancialInstitution

Fields
Field Name Description
id - ID!
name - String!
country - CCA3!
Example
{
  "id": "4",
  "name": "abc123",
  "country": CCA3
}

Float

Description

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
987.65

ForbiddenRejection

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

FundingLimit

Fields
Field Name Description
amount - Amount! Maximum Funding Amount authorized
funding - Amount Funding Amount that has already been used during the interval
rollingDays - Int! Interval in number of calendar days where the limit is applied
Example
{
  "amount": Amount,
  "funding": Amount,
  "rollingDays": 987
}

FundingLimitAmount

Description

Funding Limit Amount

Fields
Field Name Description
amount - Amount! The amount settings
Example
{"amount": Amount}

FundingLimitAmountInput

Description

Funding Limit Amount Input

Fields
Input Field Description
amount - AmountInput!

The amount settings

Example
{"amount": AmountInput}

FundingLimitExceededRejection

Description

Rejection returned when the Account Holder Funding has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

FundingLimitSettings

Fields
Field Name Description
instantFundingLimit - InstantFundingLimit Instant funding limit
fundingLimit - FundingLimit Periodic funding limit
fundingLimitSettingsChangeRequest - FundingLimitSettingsChangeRequest Related change request
statusInfo - FundingLimitSettingsStatusInfo! Status of the resource
Example
{
  "instantFundingLimit": InstantFundingLimit,
  "fundingLimit": FundingLimit,
  "fundingLimitSettingsChangeRequest": FundingLimitSettingsChangeRequest,
  "statusInfo": FundingLimitSettingsStatusInfo
}

FundingLimitSettingsChangeRequest

Description

Funding Limit Settings Change Request

Fields
Field Name Description
id - ID! Unique identifier of a funding limit settings change request
instantFundingLimit - FundingLimitAmount! Requested amount settings for the instant funding limit
fundingLimit - FundingLimitAmount! Requested amount settings for the funding limit
approved - ApprovedFundingLimit Approved amount settings for the the instant funding limit and the funding limit
statusInfo - FundingLimitSettingsChangeRequestStatusInfo! Status of the request
createdAt - Date Date of creation
updatedAt - Date Date of last update
Example
{
  "id": 4,
  "instantFundingLimit": FundingLimitAmount,
  "fundingLimit": FundingLimitAmount,
  "approved": ApprovedFundingLimit,
  "statusInfo": FundingLimitSettingsChangeRequestStatusInfo,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03"
}

FundingLimitSettingsChangeRequestApprovedStatusInfo

Description

StatusInfo when funding limit settings change request has been approved

Fields
Field Name Description
status - FundingLimitSettingsChangeRequestStatus!
reason - String!
Example
{
  "status": "WaitingForInformation",
  "reason": "xyz789"
}

FundingLimitSettingsChangeRequestBadAmountRejection

Description

Funding Limit Settings Change Request Bad Amount Rejection

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

FundingLimitSettingsChangeRequestConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [FundingLimitSettingsChangeRequestEdge!]! FundingLimitSettingsChangeRequestEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [FundingLimitSettingsChangeRequestEdge]
}

FundingLimitSettingsChangeRequestEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this onboarding node in the pagination mechanism
node - FundingLimitSettingsChangeRequest! The FundingLimitSettingsChangeRequest
Example
{
  "cursor": "xyz789",
  "node": FundingLimitSettingsChangeRequest
}

FundingLimitSettingsChangeRequestPendingStatusInfo

Description

StatusInfo when funding limit settings change request is pending

Fields
Field Name Description
status - FundingLimitSettingsChangeRequestStatus!
Example
{"status": "WaitingForInformation"}

FundingLimitSettingsChangeRequestRefusedStatusInfo

Description

StatusInfo when funding limit settings change request has been rejected

Fields
Field Name Description
status - FundingLimitSettingsChangeRequestStatus!
reason - String!
Example
{
  "status": "WaitingForInformation",
  "reason": "xyz789"
}

FundingLimitSettingsChangeRequestStatus

Description

Funding Limit Settings Change Request Status

Values
Enum Value Description

WaitingForInformation

When the request is in waiting for information

Pending

When the request is in pending

Approved

When the request is approved

Refused

When the request is refused
Example
"WaitingForInformation"

FundingLimitSettingsChangeRequestStatusInfo

Description

Object containing details about funding limit settings change request status

Fields
Field Name Description
status - FundingLimitSettingsChangeRequestStatus! Current limit settings change request status.
Example
{"status": "WaitingForInformation"}

FundingLimitSettingsChangeRequestWaitingForInformationStatusInfo

Description

StatusInfo when funding limit settings change request is waiting for more information

Fields
Field Name Description
status - FundingLimitSettingsChangeRequestStatus!
Example
{"status": "WaitingForInformation"}

FundingLimitSettingsStatus

Description

Possible values for funding limit settings status

Values
Enum Value Description

Enabled

When the funding limit settings is enabled

Suspended

When the funding limit settings is suspended

Disabled

When the funding limit settings is disabled
Example
"Enabled"

FundingLimitSettingsStatusInfo

Description

Object containing details about funding limit settings status

Fields
Field Name Description
status - FundingLimitSettingsStatus! Current funding limit settings.
Example
{"status": "Enabled"}

FundingSource

Description

Funding Source

Fields
Field Name Description
id - ID! ID of the Funding Source
name - String Name of the Funding Source
statusInfo - FundingSourceStatusInfo! Funding Source status information
createdAt - DateTime! Created date
updatedAt - DateTime! Last updated date
Possible Types
FundingSource Types

DirectDebitFundingSource

Example
{
  "id": 4,
  "name": "xyz789",
  "statusInfo": FundingSourceStatusInfo,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

FundingSourceConnection

Description

Please see the Connection interface

Fields
Field Name Description
pageInfo - PageInfo!
edges - [FundingSourceEdge!]!
totalCount - Int!
Example
{
  "pageInfo": PageInfo,
  "edges": [FundingSourceEdge],
  "totalCount": 123
}

FundingSourceEdge

Description

Please see the Connection interface

Fields
Field Name Description
node - FundingSource!
cursor - String!
Example
{
  "node": FundingSource,
  "cursor": "xyz789"
}

FundingSourceFiltersInput

Description

Filters that can be applied when listing Funding Sources

Fields
Input Field Description
status - [FundingSourceStatus!]!
Example
{"status": ["Pending"]}

FundingSourceNotFoundRejection

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

FundingSourceOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing funding source results

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

FundingSourceOrderByInput

Description

Order that can be applied when listing funding source results

Fields
Input Field Description
field - FundingSourceOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

FundingSourceStatus

Description

Funding Source Statuses

Values
Enum Value Description

Pending

Enabled

Canceled

Rejected

Suspended

Example
"Pending"

FundingSourceStatusInfo

Description

Funding Source status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Pending status
Example
{"status": "Pending"}

FundingSourceWrongStatusRejection

Description

Rejection returned when the Funding Source is not in the expected status

Fields
Field Name Description
message - String!
currentStatus - FundingSourceStatus!
expectedStatus - FundingSourceStatus!
Example
{
  "message": "abc123",
  "currentStatus": "Pending",
  "expectedStatus": "Pending"
}

GenerateAccountStatementInput

Description

Inputs to generate an account

Fields
Input Field Description
accountId - ID!

Unique identifier of an account

openingDate - DateTime!

starting date of the date window

closingDate - DateTime!

ending date of the date window

language - AccountLanguage

language to generate the statement in (default to account's language)

statementType - StatementType

Type of statement to generate

Example
{
  "accountId": "4",
  "openingDate": "2007-12-03T10:15:30Z",
  "closingDate": "2007-12-03T10:15:30Z",
  "language": "de",
  "statementType": "PDF"
}

GenerateCapitalDepositDocumentUploadUrlInput

Fields
Input Field Description
documentId - ID!

Unique identifier of the document.

capitalDepositCaseId - ID!

Unique identifier of the capitalDepositCase associated to the document.

filename - String!

Filename of the document.

Example
{
  "documentId": "4",
  "capitalDepositCaseId": 4,
  "filename": "abc123"
}

GenerateCapitalDepositDocumentUploadUrlPayload

GenerateCapitalDepositDocumentUploadUrlSuccessPayload

Fields
Field Name Description
uploadUrl - String URL to be used to upload the document.
Example
{"uploadUrl": "xyz789"}

GenerateSupportingDocumentUploadUrlInput

Fields
Input Field Description
supportingDocumentCollectionId - ID!

Unique identifier of a supporting document collection

supportingDocumentType - SupportingDocumentType

Type of document

filename - String!

Name of the document which will be sent

supportingDocumentPurpose - SupportingDocumentPurposeEnum

Purpose of document

Example
{
  "supportingDocumentCollectionId": "4",
  "supportingDocumentType": "Selfie",
  "filename": "abc123",
  "supportingDocumentPurpose": "AssociationRegistration"
}

GenerateSupportingDocumentUploadUrlPayload

GenerateSupportingDocumentUploadUrlSuccessPayload

Fields
Field Name Description
supportingDocumentId - String! Id of the supporting document created for this uploadUrl
upload - SupportingDocumentUploadInfo! Info to upload the document : url and fields to add along file in form (POST)
Example
{
  "supportingDocumentId": "abc123",
  "upload": SupportingDocumentUploadInfo
}

GlobalFundingLimitExceededRejection

Description

Rejection returned when the Global Funding has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

GlobalInstantFundingLimitExceededRejection

Description

Rejection returned when the Global Instant Funding limit has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

GrantConsentWithServerSignatureInput

Description

Input of the grantConsentWithServerSignature mutation

Fields
Input Field Description
consentId - ID!

ID of the consent to grant

signature - String!

Consent challenge signed with server consent credentials

Example
{
  "consentId": "4",
  "signature": "abc123"
}

GrantConsentWithServerSignaturePayload

GrantConsentWithServerSignatureSuccessPayload

Description

Success payload of the grantConsentWithServerSignature mutation

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

IBAN

Description

International Bank Account Number

Example
"NL55INGB4789170233"

IBANNotReachableRejection

Description

Rejection returned when the IBAN is not reachable

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

IBANStatus

Description

Virtual IBAN Status

Values
Enum Value Description

Enabled

When the virtual IBAN accept to receive Sepa payments

Canceled

When the virtual IBAN refuse definitely to receive Sepa payments

Suspended

When the virtual IBAN refuse temporarily to receive Sepa payments
Example
"Enabled"

ID

Description

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
4

IbanValidationInput

Description

ibanValidation input

Fields
Input Field Description
iban - IBAN!

IBAN to validate

Example
{"iban": "NL55INGB4789170233"}

IbanValidationRejection

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

IbanValidationResult

Description

IbanValidationResult

Types
Union Types

ValidIban

InvalidIban

Example
ValidIban

Identification

Fields
Field Name Description
id - String!
levelStatuses - IdentificationLevelStatuses!

Returns the statuses of the identification levels

DO NOT USE.

This feature is currently in development, it probably doesn't work and we will make breaking changes without warning.

process - IdentificationProcess! Specifies the provider and the type of the process.
createdAt - DateTime! Created date
updatedAt - DateTime Updated date
Example
{
  "id": "abc123",
  "levelStatuses": IdentificationLevelStatuses,
  "process": IdentificationProcessExpert,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

IdentificationConnection

Fields
Field Name Description
totalCount - Int!
pageInfo - PageInfo
edges - [IdentificationEdge!]!
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [IdentificationEdge]
}

IdentificationEdge

Fields
Field Name Description
node - Identification!
cursor - String!
Example
{
  "node": Identification,
  "cursor": "xyz789"
}

IdentificationFilterInput

Fields
Input Field Description
statuses - [SwanIdentificationStatus!]
Example
{"statuses": ["Pending"]}

IdentificationLevel

Description

Possible value for the field IdentificationLevel

Values
Enum Value Description

Expert

Human identity verification

QES

Identity verification with Qualified Electronic Signature

PVID

Identity verification with PVID
Example
"Expert"

IdentificationLevelInput

Description

User identification levels input payload.

Values
Enum Value Description

Expert

Identity verified by an expert (Ubble-like)

PVID

Identity verified by an expert with a Remote Identity Verification Service

QES

Identity verified by an expert and a Qualified Electronic Signature has been done
Example
"Expert"

IdentificationLevelStatus

Values
Enum Value Description

Unsupported

Uninitiated

Pending

Invalid

Valid

ToReview

Example
"Unsupported"

IdentificationLevelStatuses

Fields
Field Name Description
Expert - IdentificationLevelStatus!
QES - IdentificationLevelStatus!
PVID - IdentificationLevelStatus!
Example
{"Expert": "Unsupported", "QES": "Unsupported", "PVID": "Unsupported"}

IdentificationLevels

Description

Identification levels

Fields
Field Name Description
PVID - Boolean!
QES - Boolean!
expert - Boolean!
Example
{"PVID": false, "QES": true, "expert": true}

IdentificationProcess

Example
IdentificationProcessExpert

IdentificationProcessExpert

Fields
Field Name Description
provider - IdentificationProcessExpertProvider!
Example
{"provider": "Fourthline"}

IdentificationProcessExpertProvider

Values
Enum Value Description

Fourthline

Ubble

Example
"Fourthline"

IdentificationProcessExpertWithQES

Fields
Field Name Description
provider - IdentificationProcessExpertWithQESProvider!
Example
{"provider": "Fourthline"}

IdentificationProcessExpertWithQESProvider

Values
Enum Value Description

Fourthline

Example
"Fourthline"

IdentificationProcessPVID

Fields
Field Name Description
provider - IdentificationProcessPVIDProvider!
Example
{"provider": "Ubble"}

IdentificationProcessPVIDProvider

Values
Enum Value Description

Ubble

Example
"Ubble"

IdentificationStatus

Description

Identification status

Values
Enum Value Description

Uninitiated

The user hasn't started the identity verification process yet.

Processing

The user has gone through the identity verification process, but we are still processing their information.

ReadyToSign

The user has gone through the identity verification process, and we have determined that their identity is valid. The user now needs to go through the QES process to complete their identification.

ValidIdentity

The user has gone through the identity verification process, and we have determined that their identity is valid.

InsufficientDocumentQuality

The user has gone through the identity verification process, but we were unable to determine if their identity is valid because the quality of the provided documents was insufficient. The user will have to start a new identification, which will update this status to Processing.

InvalidIdentity

The user has gone through the identity verification process, but we have determined that their identity is invalid. The user will have to start a new identification, which will update this status to Processing.
Example
"Uninitiated"

IdentityAlreadyBindToAccountMembershipRejection

Description

Rejection returned if identity and the account memberships are already bind

Fields
Field Name Description
accountId - String!
identityId - String!
message - String!
Example
{
  "accountId": "abc123",
  "identityId": "abc123",
  "message": "abc123"
}

InAppProvisioningData

Description

Data used for in app provisioning

Fields
Field Name Description
activationData - String! Cryptographic OTP used to pre-validate digitalization
ephemeralPublicKey - String! Base64 public key used with the wallet provider public key to encrypt the card data
encryptedData - String! Encrypted card data
iv - String IV used to encrypt the card Data (Useful for Google Pay)
publicKeyFingerprint - String public key fingerprint of the key used to encrypt card data (Useful for Google Pay)
oaepHashingAlgorithm - String hash algorithm used during encryption of the card data (Useful for Google Pay)
Example
{
  "activationData": "abc123",
  "ephemeralPublicKey": "abc123",
  "encryptedData": "xyz789",
  "iv": "abc123",
  "publicKeyFingerprint": "xyz789",
  "oaepHashingAlgorithm": "xyz789"
}

IndividualShareholder

Description

Individual shareholder infos.

Fields
Field Name Description
type - ShareholderType! Whether the shareholder is an individual or a company.
firstName - String! First name of the shareholder.
lastName - String! Last name of the shareholder.
birthDate - String! Birth date of the shareholder.
nationality - CCA3! CCA3 code for the country of nationality of the shareholder.
Example
{
  "type": "Individual",
  "firstName": "xyz789",
  "lastName": "xyz789",
  "birthDate": "xyz789",
  "nationality": CCA3
}

IndividualUltimateBeneficialOwner

Description

Individual Ultimate Beneficial Owner You need to describe the natural person (s) who hold, directly or indirectly, more than 25% of the capital or the rights of vote of the reporting company. Please describe the company (s) that owns the company that wishes to open an account, when an individual holds in fine more than 25%

Fields
Field Name Description
firstName - String individual first name
lastName - String individual last name
birthDate - DateTime individual birth date
birthCity - String individual birth city
birthCityPostalCode - String individual birth city postal code
birthCountryCode - CCA3 individual birth country code
info - IndividualUltimateBeneficialOwnerInfo! Information relating to the type of the UBO
taxIdentificationNumber - String Individual beneficial owner Tax or Identification Number
residencyAddress - AddressInformation Individual beneficial owner residency Address
Example
{
  "firstName": "abc123",
  "lastName": "abc123",
  "birthDate": "2007-12-03T10:15:30Z",
  "birthCity": "abc123",
  "birthCityPostalCode": "abc123",
  "birthCountryCode": CCA3,
  "info": IndividualUltimateBeneficialOwnerInfo,
  "taxIdentificationNumber": "xyz789",
  "residencyAddress": AddressInformation
}

IndividualUltimateBeneficialOwnerInfo

Description

Define the type of the UBO

Fields
Field Name Description
type - IndividualUltimateBeneficialOwnerTypeEnum! Individual type
Example
{"type": "LegalRepresentative"}

IndividualUltimateBeneficialOwnerInput

Fields
Input Field Description
firstName - String

Individual beneficial owner first name. Length must be from 0 to 100 characters

lastName - String

Individual beneficial owner last name. Length must be from 0 to 100 characters

birthDate - String

Individual birth date. Must be a valid date

birthCity - String

Individual birth city. Length must be from 0 to 100 characters

birthCityPostalCode - String

Individual birth city postal code. Length must be from 0 to 50 characters

birthCountryCode - CCA3

Individual birth country code

indirect - Boolean

Define UBO is an Indirect Owner

direct - Boolean

Define UBO is an Direct Owner

totalCapitalPercentage - Float

Total of capital (in percentage, ex: 50 = 50%). Must be between 1 and 100.

type - IndividualUltimateBeneficialOwnerTypeEnum!

Define UBO is a Legal Representative

taxIdentificationNumber - String

Individual beneficial owner Tax or Identification Number

residencyAddress - AddressInformationInput

Individual beneficial owner residency Address

Example
{
  "firstName": "xyz789",
  "lastName": "xyz789",
  "birthDate": "xyz789",
  "birthCity": "xyz789",
  "birthCityPostalCode": "xyz789",
  "birthCountryCode": CCA3,
  "indirect": true,
  "direct": true,
  "totalCapitalPercentage": 123.45,
  "type": "LegalRepresentative",
  "taxIdentificationNumber": "abc123",
  "residencyAddress": AddressInformationInput
}

IndividualUltimateBeneficialOwnerTypeEnum

Description

Individual Ultimate beneficial owner nature

Values
Enum Value Description

LegalRepresentative

The Beneficial Owner is the representant legal

HasCapital

The Beneficial Owner have shares

Other

Other
Example
"LegalRepresentative"

IndividualUltimateBeneficialOwnerTypeHasCapital

Description

Individual Ultimate Beneficial Owner Type Has Capital

Fields
Field Name Description
type - IndividualUltimateBeneficialOwnerTypeEnum! Individual type
indirect - Boolean Define UBO is an Indirect Owner
direct - Boolean Define UBO is an Direct Owner
totalCapitalPercentage - Float Total of capital (in percentage, ex: 50 = 50%)
Example
{
  "type": "LegalRepresentative",
  "indirect": true,
  "direct": false,
  "totalCapitalPercentage": 123.45
}

IndividualUltimateBeneficialOwnerTypeLegalRepresentative

Description

Individual Ultimate Beneficial Owner Type Legal Representative

Fields
Field Name Description
type - IndividualUltimateBeneficialOwnerTypeEnum! Individual type
Example
{"type": "LegalRepresentative"}

IndividualUltimateBeneficialOwnerTypeOther

Description

Individual Ultimate Beneficial Owner Type Other

Fields
Field Name Description
type - IndividualUltimateBeneficialOwnerTypeEnum! Individual type
Example
{"type": "LegalRepresentative"}

InitiateCreditTransfersInput

Description

Initiate credit transfers

Fields
Input Field Description
accountNumber - AccountNumber

account to be debited identified by number

accountId - ID

account id to be debited identified by id

creditTransfers - [CreditTransferInput!]!

credit transfers (max 250 records)

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "accountNumber": "000000012345",
  "accountId": "4",
  "creditTransfers": [CreditTransferInput],
  "consentRedirectUrl": "abc123"
}

InitiateCreditTransfersPayload

Example
InitiateCreditTransfersSuccessPayload

InitiateCreditTransfersSuccessPayload

Fields
Field Name Description
payment - Payment!
Example
{"payment": Payment}

InitiateFundingRequestInput

Description

Input to initiate a funding request

Fields
Input Field Description
fundingSourceId - ID!

ID of the funding source to be used to fund the concerned account

amount - AmountInput!

Amount of the requested funding, i.e. amount that will credit the concerned Swan account and debit the external funding source.

reference - String

Reference of the funding request that will be shown on the account holder statement and on the debtor account used.

label - String

Label of the funding request that will be shown on the account holder statement and on the debtor account used Always starts with 'Partner Name' truncated at 19 characters followed by a space. If empty, default label is "Partner Name - Account Holder Name".

consentRedirectUrl - String!

Url to which the authorized account member must be redirected once the consent has been finalized.

requestedExecutionAt - DateTime

When the funding request should be executed. If null, it will be executed as soon as possible. It is not possible to define this value when the option isInstant is set to true.

isInstant - Boolean

SOON TO BE DEPRECATED If true the funds should be available immediately. If false or null, the funds will be available after the resolution of the credit transaction.

Example
{
  "fundingSourceId": "4",
  "amount": AmountInput,
  "reference": "xyz789",
  "label": "abc123",
  "consentRedirectUrl": "abc123",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "isInstant": true
}

InitiateFundingRequestPayload

InitiateFundingRequestSuccessPayload

Description

Initiate A Funding Request Success Payload

Fields
Field Name Description
payment - Payment! Details of the funding payment created
Example
{"payment": Payment}

InitiateInternationalCreditTransferInput

Description

COMING SOON Input to create a quote and an international beneficiary

Fields
Input Field Description
accountId - ID

Account ID of the originator of the international credit transfer

accountNumber - AccountNumber

Account number if the beneficiary is a swan account

targetAmount - AmountInput!

Target amount of the international credit transfer

internationalBeneficiary - InternationalBeneficiary!

Beneficiary of the international credit transfer

internationalCreditTransferDetails - [InternationalCreditTransferDetails!]!

Transfer details

consentRedirectUrl - String!

When the consent flow is finished the user is redirected to this URL

externalReference - String

External reference

Example
{
  "accountId": "4",
  "accountNumber": "000000012345",
  "targetAmount": AmountInput,
  "internationalBeneficiary": InternationalBeneficiary,
  "internationalCreditTransferDetails": [
    InternationalCreditTransferDetails
  ],
  "consentRedirectUrl": "xyz789",
  "externalReference": "xyz789"
}

InitiateInternationalCreditTransferResponsePayload

Description

Initiate International Credit Transfer Response Payload

Example
InitiateInternationalCreditTransferResponseSuccessPayload

InitiateInternationalCreditTransferResponseSuccessPayload

Description

Initiate International Credit Transfer Response Success Payload

Fields
Field Name Description
payment - Payment! Details of the international credit transfer created
rate - String! Rate of the quote
source - Amount! Source amount of the quote
target - Amount! target amount of the quote
fees - Amount! Fees
Example
{
  "payment": Payment,
  "rate": "abc123",
  "source": Amount,
  "target": Amount,
  "fees": Amount
}

InitiateMerchantPaymentCollectionInput

Fields
Input Field Description
amount - AmountInput!

Amount of the concerned payment collection. For check deposit, the amount should not exceed 10 000€.

label - String

Label of the concerned payment collection, which will be displayed on Swan bank statement - For checks transaction, if empty, default label will be set as "Check N° [1st part of CMC7 - 7 char.]

reference - String

end-to-end reference of the concerned payment collection

externalReference - String

external reference (JSON) that can be used by the Swan merchant for reconciliation purposes

internalDirectDebit - InternalDirectDebitPaymentCollectionInput

Internal direct debit type of payment collection

check - CheckPaymentCollectionInput

Check type of payment collection

sepaDirectDebit - SepaDirectDebitPaymentCollectionInput

Sepa Direct Debit type of payment collection

Example
{
  "amount": AmountInput,
  "label": "abc123",
  "reference": "xyz789",
  "externalReference": "xyz789",
  "internalDirectDebit": InternalDirectDebitPaymentCollectionInput,
  "check": CheckPaymentCollectionInput,
  "sepaDirectDebit": SepaDirectDebitPaymentCollectionInput
}

InitiateMerchantPaymentCollectionPayload

InitiateMerchantPaymentCollectionSuccessPayload

Fields
Field Name Description
merchantPaymentCollection - Payment!
Example
{"merchantPaymentCollection": Payment}

InstantFundingLimit

Fields
Field Name Description
amount - Amount! Maximum Instant Funding Amount authorized
funding - Amount Instant Funding Amount that has already been used
Example
{
  "amount": Amount,
  "funding": Amount
}

InstantFundingLimitExceededRejection

Description

Rejection returned when the Account Holder Instant Funding limit has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

InsufficientFundsRejection

Description

Rejection returned when the Available balance is insufficient

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
987

InternalBeneficiary

Description

SOON TO BE DEPRECATED Internal Beneficiary

Fields
Field Name Description
id - ID unique identifier of a beneficiary
name - String! full name of the beneficiary
isMyOwnIban - Boolean! true if this new beneficiary is the account holder himself in an other financial institution.
accountNumber - AccountNumber! account number if the beneficiary is a swan account because it is not already implemented (a default value is set).
Example
{
  "id": "4",
  "name": "abc123",
  "isMyOwnIban": false,
  "accountNumber": "000000012345"
}

InternalCreditTransfer

Description

Internal Credit Transfer transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire reference chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
creditor - InternalCreditTransferCreditor! creditor information
debtor - InternalCreditTransferDebtor! debtor information
account - Account matching account for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
Example
{
  "id": 4,
  "reference": "xyz789",
  "paymentMethodIdentifier": "abc123",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "abc123",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "creditor": InternalCreditTransferCreditor,
  "debtor": InternalCreditTransferDebtor,
  "account": Account,
  "externalReference": "abc123",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "xyz789",
  "originTransaction": Transaction
}

InternalCreditTransferCreditor

Description

Internal Credit Transfer creditor

Fields
Field Name Description
name - String! full name of the Creditor
accountNumber - AccountNumber! account number
Possible Types
InternalCreditTransferCreditor Types

InternalCreditTransferInCreditor

InternalCreditTransferOutCreditor

Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

InternalCreditTransferDebtor

Description

Internal Credit Transfer debtor

Fields
Field Name Description
name - String! full name of the debtor
accountNumber - AccountNumber! account number
Possible Types
InternalCreditTransferDebtor Types

InternalCreditTransferInDebtor

InternalCreditTransferOutDebtor

Example
{
  "name": "xyz789",
  "accountNumber": "000000012345"
}

InternalCreditTransferInCreditor

Description

Internal Credit Transfer creditor for Incoming transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

InternalCreditTransferInDebtor

Description

Internal Credit Transfer debtor for Incoming transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "xyz789",
  "accountNumber": "000000012345"
}

InternalCreditTransferOutCreditor

Description

Internal Credit Transfer creditor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "abc123",
  "accountNumber": "000000012345"
}

InternalCreditTransferOutDebtor

Description

Internal Credit Transfer debtor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor
accountNumber - AccountNumber! account number
Example
{
  "name": "xyz789",
  "accountNumber": "000000012345"
}

InternalDirectDebitB2BMerchantPaymentMethod

Description

InternalDirectDebitB2BMerchantPaymentMethod

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
Example
{
  "id": "4",
  "type": "InternalDirectDebitStandard",
  "productId": 4,
  "methodId": 4,
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 123,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve
}

InternalDirectDebitB2BPaymentMethodInput

Fields
Input Field Description
activate - Boolean

If true, the Payment Method will be Pending Review

Example
{"activate": false}

InternalDirectDebitCreditor

Description

Internal Direct Debit Creditor

Fields
Field Name Description
accountId - ID! unique identifier of the creditor account
Example
{"accountId": 4}

InternalDirectDebitDebtor

Description

Internal Direct Debit Debtor

Fields
Field Name Description
accountId - ID! unique identifier of the debtor account
Example
{"accountId": "4"}

InternalDirectDebitMandate

Fields
Field Name Description
id - ID! Unique identifier of the internal direct debit mandate, generated by Swan
Possible Types
InternalDirectDebitMandate Types

InternalPaymentDirectDebitMandate

InternalReceivedDirectDebitMandate

Example
{"id": 4}

InternalDirectDebitPaymentCollectionInput

Fields
Input Field Description
mandateId - ID!

ID of the concerned payment mandate

Example
{"mandateId": "4"}

InternalDirectDebitScheme

Description

Scheme that will be used to create the payment mandate

Values
Enum Value Description

InternalDirectDebitStandard

Standard Scheme

InternalDirectDebitB2b

B2B Scheme
Example
"InternalDirectDebitStandard"

InternalDirectDebitSequence

Values
Enum Value Description

OneOff

Recurring

Example
"OneOff"

InternalDirectDebitStandardMerchantPaymentMethod

Description

InternalDirectDebitStandardMerchantPaymentMethod

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
Example
{
  "id": 4,
  "type": "InternalDirectDebitStandard",
  "productId": 4,
  "methodId": 4,
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 123,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve
}

InternalDirectDebitStandardPaymentMethodInput

Fields
Input Field Description
activate - Boolean

If true, the Payment Method will be Pending Review

Example
{"activate": true}

InternalDirectDebitTransaction

Description

Internal Direct Debit transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction: accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
creditor - InternalDirectDebitCreditor! creditor information
debtor - InternalDirectDebitDebtor! debtor information
account - Account matching account for the transaction
mandate - InternalDirectDebitMandate matching Internal mandate for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
reservedAmount - Amount reserved amount of the transaction computed with the rolling reserve.
reservedAmountReleasedAt - DateTime date on which reserved funds become available.
Example
{
  "id": 4,
  "reference": "xyz789",
  "paymentMethodIdentifier": "xyz789",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "abc123",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "creditor": InternalDirectDebitCreditor,
  "debtor": InternalDirectDebitDebtor,
  "account": Account,
  "mandate": InternalDirectDebitMandate,
  "externalReference": "abc123",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "xyz789",
  "originTransaction": Transaction,
  "reservedAmount": Amount,
  "reservedAmountReleasedAt": "2007-12-03T10:15:30Z"
}

InternalErrorRejection

Description

Rejection returned on unexpected server error

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

InternalPaymentDirectDebitMandate

Description

Payment direct debit mandate for Internal

Fields
Field Name Description
id - ID! Unique identifier of the Internal Direct Debit Payment Mandate
transactions - TransactionConnection List of transactions associated with the Internal Payment Direct Debit Mandate.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

reference - String! Unique reference of the Internal Direct Debit Payment Mandate
scheme - InternalPaymentMandateScheme! Internal Direct Debit Payment Mandate scheme
statusInfo - PaymentMandateStatusInfo! Internal Direct Debit Payment Mandate status information
sequence - InternalPaymentMandateSequence! Internal Direct Debit Payment Mandate sequence
mandateDocumentUrl - String! Internal Direct Debit Payment Mandate PDF document URL
debtor - InternalPaymentMandateDebtor! Internal Direct Debit Payment Mandate debtor information
ultimateCreditorName - String Internal direct debit ultimate creditor name
creditor - InternalPaymentMandateCreditor! Internal Direct Debit Payment Mandate creditor information
signatureDate - Date Signature date of the Internal Direct Debit Payment Mandate
createdAt - DateTime! Creation date of the Internal Direct Debit Payment Mandate
updatedAt - DateTime! Last Update date of the Internal Direct Debit Payment Mandate
executedAt - DateTime Date of the the last transaction executed for the concerned Internal Direct Debit Payment Mandate
expiredAt - Date Expiry date of the Internal Direct Debit Payment Mandate
accountHolder - AccountHolder! Account Holder information
language - String! Language that will be used to produce the mandate PDF document
Example
{
  "id": 4,
  "transactions": TransactionConnection,
  "reference": "abc123",
  "scheme": "InternalDirectDebitStandard",
  "statusInfo": PaymentMandateStatusInfo,
  "sequence": "Recurring",
  "mandateDocumentUrl": "abc123",
  "debtor": InternalPaymentMandateDebtor,
  "ultimateCreditorName": "abc123",
  "creditor": InternalPaymentMandateCreditor,
  "signatureDate": "2007-12-03",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "executedAt": "2007-12-03T10:15:30Z",
  "expiredAt": "2007-12-03",
  "accountHolder": AccountHolder,
  "language": "abc123"
}

InternalPaymentMandateCreditor

Fields
Field Name Description
id - ID! Internal Direct Debit Payment Mandate creditor UUID
identifier - ID! Internal Direct Debit Payment Mandate Creditor Idenfier
name - String! Internal Direct Debit Payment Mandate creditor name
address - Address! Internal Direct Debit Payment Mandate creditor address
Example
{
  "id": "4",
  "identifier": "4",
  "name": "abc123",
  "address": Address
}

InternalPaymentMandateDebtor

Fields
Field Name Description
name - String! Internal Direct Debit Payment Mandate debtor name
email - String! Internal Direct Debit Payment Mandate debtor e-mail
country - CCA3! Internal Direct Debit Payment Mandate debtor country
address - Address Internal Direct Debit Payment Mandate debtor address. Mandatory for non EEA Countries
accountId - ID Internal Direct Debit Payment Mandate debtor address. Mandatory for non EEA Countries
Example
{
  "name": "xyz789",
  "email": "abc123",
  "country": CCA3,
  "address": Address,
  "accountId": "4"
}

InternalPaymentMandateScheme

Values
Enum Value Description

InternalDirectDebitStandard

Internal Direct Debit Standard

InternalDirectDebitB2b

Internal Direct Debit B2B
Example
"InternalDirectDebitStandard"

InternalPaymentMandateSequence

Description

Internal Direct Debit Payment Mandate Sequence

Values
Enum Value Description

Recurring

The Internal Direct Debit Payment Mandate can be used for recurrent collections

OneOff

The Internal Direct Debit Payment Mandate can be used only once
Example
"Recurring"

InternalReceivedDirectDebitMandate

Description

Received direct debit mandate for SEPA

Fields
Field Name Description
id - ID! Unique identifier of the received internal direct debit mandate, generated by Swan
transactions - TransactionConnection List of transactions associated with the Internal Receive Direct Debit Mandate.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

version - String! Version of the received internal direct debit mandate
createdAt - DateTime! Creation date of the received internal direct debit mandate
updatedAt - DateTime! Last Update date of the received internal direct debit mandate
reference - String! Received internal direct debit Unique Mandate Reference (UMR)
scheme - InternalReceivedDirectDebitMandateScheme! Received internal direct debit mandate scheme
sequence - InternalReceivedDirectDebitMandateSequence! Received internal direct debit mandate sequence
creditor - InternalReceivedDirectDebitMandateCreditor! Received internal direct debit creditor
ultimateCreditorName - String Received internal direct debit ultimate creditor name
executedAt - DateTime Date of the last internal direct debit transaction executed for the concerned received internal direct debit mandate
signatureDate - Date Date of signature of the received internal direct debit mandate
expiredAt - Date Expiry date of the received internal direct debit mandate, computed automatically (36 months from the executedAt date)
statusInfo - ReceivedDirectDebitMandateStatusInfo! Mandate status information of the received internal direct debit mandate
account - Account Account of the received internal direct debit mandate debtor
iban - IBAN! Iban of the received internal direct debit mandate debtor
name - String Mandate name
Example
{
  "id": 4,
  "transactions": TransactionConnection,
  "version": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "reference": "xyz789",
  "scheme": "InternalDirectDebitB2b",
  "sequence": "OneOff",
  "creditor": InternalReceivedDirectDebitMandateCreditor,
  "ultimateCreditorName": "abc123",
  "executedAt": "2007-12-03T10:15:30Z",
  "signatureDate": "2007-12-03",
  "expiredAt": "2007-12-03",
  "statusInfo": ReceivedDirectDebitMandateStatusInfo,
  "account": Account,
  "iban": "NL55INGB4789170233",
  "name": "xyz789"
}

InternalReceivedDirectDebitMandateCreditor

Description

Internal received direct debit mandate creditor

Fields
Field Name Description
identifier - String! Creditor identifier
name - String! Name of the creditor
address - Address! Address of the creditor
Example
{
  "identifier": "xyz789",
  "name": "xyz789",
  "address": Address
}

InternalReceivedDirectDebitMandateScheme

Description

Received internal direct debit mandate scheme

Values
Enum Value Description

InternalDirectDebitB2b

When the received internal direct debit mandate can only be used for internal B2B direct debit transactions

InternalDirectDebitStandard

When the received internal direct debit mandate can only be used for internal Standard direct debit transactions
Example
"InternalDirectDebitB2b"

InternalReceivedDirectDebitMandateSequence

Description

Internal received direct debit mandate sequence

Values
Enum Value Description

OneOff

When the authorisation is given once by the Debtor to collect only one single internal direct debit

Recurrent

When the authorisation by the Debtor can be used for regular internal direct debits initiated by the Creditor
Example
"OneOff"

InternationalBeneficiary

Description

COMING SOON International Beneficiary

Fields
Input Field Description
name - String!

Account holder name

currency - Currency!

Currency of the international beneficiary account

details - [InternationalBeneficiaryDetails!]!

COMING SOON Currency-specific details of the beneficiary

route - InternationalCreditTransferRoute!

COMING SOON Route that Wise will use to transfer the funds

Example
{
  "name": "xyz789",
  "currency": "USD",
  "details": [InternationalBeneficiaryDetails],
  "route": "Aba"
}

InternationalBeneficiaryDetails

Description

International Beneficiary Details

Fields
Input Field Description
key - String!

Key

value - String!

Value

Example
{
  "key": "xyz789",
  "value": "abc123"
}

InternationalBeneficiaryDynamicForms

Description

COMING SOON International Beneficiary Dynamic Forms

Fields
Field Name Description
schemes - [Scheme!]! COMING SOON Schemes
Example
{"schemes": [Scheme]}

InternationalCreditTransferDetails

Description

COMING SOON International Credit Transfer Details

Fields
Input Field Description
key - String!

COMING SOON Key

value - String!

COMING SOON Value

Example
{
  "key": "abc123",
  "value": "xyz789"
}

InternationalCreditTransferDisplayLanguage

Description

Language: ISO 639-1 language code

Values
Enum Value Description

EN

British English

NL

Dutch

FR

French

DE

German

IT

Italian

PT

Portuguese

ES

Spanish
Example
"EN"

InternationalCreditTransferDynamicForm

Description

COMING SOON International Credit Transfer Dynamic Form

Fields
Field Name Description
fields - [Field!]! List of international transaction fields
remainingFieldsToRefreshCount - Int! COMING SOON Number of fields that need to be updated to fill the form completely. Please re run the query internationalCreditTransferTransactionDetailsDynamicForm with updated refreshableFields if the value of this field is not 0
Example
{"fields": [Field], "remainingFieldsToRefreshCount": 987}

InternationalCreditTransferRoute

Description

International Credit Transfer Route

Values
Enum Value Description

Aba

American ACH for low-value payments

Argentina

Argentinian local route

Australian

Australian local route

AustralianBpay

Australian local route Bpay usually used for bill payments

Brazil

Brazilian local route

Canadian

Canadian local route

Chile

Chilean local route

CostaRica

Costa Rican local route

Czech

Czech local route

Emirates

Emirate local route

FedwireLocal

American credit transfers service for large-value and time-critical payments

FijiMobile

M-PAiSA

HongKongFps

Faster Payment System

Hongkong

Hong Kong's local route

Hungarian

Hungarian local route

Iban

Local route using an IBAN as recipient account identifier

Indian

Indian local route

IndianUpi

Indian instant payment system Unified Payments Interface

Interac

Canadian payment network Interac

IsraeliLocal

Israeli local route

KenyaLocal

Kenyan local route

KenyaMobile

Kenyan mobile payment network M-PESA

Malaysian

Malaysian local route

MalaysianDuitnow

Malaysian payment network DuitNow

Mexican

Mexican local route

Morocco

Moroccan local route

Nepal

Nepalese local route

NewZealand

New Zealand local route

Philippines

Filipino local route

PhilippinesMobile

Filipino mobile payment network

Polish

Polish local route

PrivatBank

Ukranian local route

Singapore

Singapore local route

SingaporePaynow

Singapore mobile payment network PayNow

SortCode

British local route

SouthKoreanPaygate

South Korean payment network Paygate

SouthKoreanPaygateBusiness

South Korean payment network Paygate for corporates

SouthAfrica

South African local route

SwiftCode

Swift

Thailand

Thai local route

TurkishEarthport

Turkish local route
Example
"Aba"

InternationalTransaction

Fields
Field Name Description
account - Account matching account for this transaction
amount - Amount! amount
bookedBalanceAfter - Amount booked balance after this transaction
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
createdAt - DateTime! created date
executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

fees - Amount
id - ID! unique identifier of the transaction
label - String! label
originTransaction - Transaction origin transaction associated to this transaction
originTransactionId - String ID of the origin transaction associated to this transaction
payment - Payment payment associated to this transaction
paymentId - String ID of the payment associated to this transaction
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
paymentProduct - PaymentProduct! payment product used for this transaction
reference - String! external identifier of the transaction
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
side - TransactionSide! side (Credit or Debit)
statusInfo - TransactionStatusInfo! status information
type - TransactionTypeEnum! type
updatedAt - DateTime! updated date
Example
{
  "account": Account,
  "amount": Amount,
  "bookedBalanceAfter": Amount,
  "counterparty": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "executionDate": "2007-12-03T10:15:30Z",
  "externalReference": "xyz789",
  "fees": Amount,
  "id": "4",
  "label": "abc123",
  "originTransaction": Transaction,
  "originTransactionId": "xyz789",
  "payment": Payment,
  "paymentId": "xyz789",
  "paymentMethodIdentifier": "xyz789",
  "paymentProduct": "InternalCreditTransfer",
  "reference": "abc123",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "side": "Debit",
  "statusInfo": TransactionStatusInfo,
  "type": "InternalCreditTransferOut",
  "updatedAt": "2007-12-03T10:15:30Z"
}

InvalidArgumentRejection

Description

Rejection returned on invalid argument error

Fields
Field Name Description
message - String!
code - InvalidArgumentRejectionCode!
fields - [InvalidArgumentRejectionField!]!
Example
{
  "message": "xyz789",
  "code": "INVALID_INPUT",
  "fields": [InvalidArgumentRejectionField]
}

InvalidArgumentRejectionCode

Values
Enum Value Description

INVALID_INPUT

Example
"INVALID_INPUT"

InvalidArgumentRejectionField

Fields
Field Name Description
name - String!
errors - [String!]!
Example
{
  "name": "abc123",
  "errors": ["abc123"]
}

InvalidIban

Description

Information about the invalidity of the IBAN

Fields
Field Name Description
iban - IBAN! Iban from input
code - InvalidIbanCode! Enum that can be used to discriminate on the error
message - String! Message that give a bit of context during development
Example
{
  "iban": "NL55INGB4789170233",
  "code": "InvalidLength",
  "message": "abc123"
}

InvalidIbanCode

Description

InvalidIbanCode

Values
Enum Value Description

InvalidLength

Iban is either too short (<2) or does not match this country's specified length

InvalidStructure

We do not know this IBAN Structure (Meaning that the country code is probably wrong)

InvalidChecksum

The IBAN does not verify the mod97 algorithm

InvalidBank

We do not know the banking institution referenced in this IBAN.
Example
"InvalidLength"

InvalidPhoneNumberRejection

Description

Rejection returned if phone number is not well formatted

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

Invoice

Description

Invoice

Fields
Field Name Description
id - ID! unique id
accountId - ID! account id
name - String! name of the invoice
status - InvoiceStatus! status of the invoice
amount - Amount! due amount
url - String temporary public url on which the file can be accessible
expiresAt - DateTime date at which the link will not be useable anymore
openingDate - DateTime! starting date of the billing window
closingDate - DateTime! ending date of the billing window
createdAt - DateTime! creation date
updatedAt - DateTime! last update date
Example
{
  "id": 4,
  "accountId": "4",
  "name": "xyz789",
  "status": "Failed",
  "amount": Amount,
  "url": "xyz789",
  "expiresAt": "2007-12-03T10:15:30Z",
  "openingDate": "2007-12-03T10:15:30Z",
  "closingDate": "2007-12-03T10:15:30Z",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

InvoiceConnection

Description

Please see the Connection interface

Fields
Field Name Description
pageInfo - PageInfo!
totalCount - Int!
edges - [InvoiceEdge!]!
Example
{
  "pageInfo": PageInfo,
  "totalCount": 987,
  "edges": [InvoiceEdge]
}

InvoiceEdge

Description

Please see the Edge interface

Fields
Field Name Description
node - Invoice!
cursor - String!
Example
{
  "node": Invoice,
  "cursor": "xyz789"
}

InvoiceStatus

Description

The different statuses of invoice

Values
Enum Value Description

Failed

NotPaid

Paid

PaymentDue

Pending

Voided

Example
"Failed"

LegalDocument

Fields
Field Name Description
id - ID! ID of the legal document
type - LegalDocumentType! Type of the legal document
statusInfo - LegalDocumentStatusInfo! Status of the Legal Document
language - AccountLanguage! Language of the Legal Document
url - String! Url to download the Document
Example
{
  "id": 4,
  "type": "SwanTCU",
  "statusInfo": LegalDocumentStatusInfo,
  "language": "de",
  "url": "abc123"
}

LegalDocumentActiveStatusInfo

Fields
Field Name Description
status - LegalDocumentStatus! LegalDocument status (always Active for type LegalDocumentActiveStatusInfo)
activatedAt - DateTime Activation date
Example
{
  "status": "Upcoming",
  "activatedAt": "2007-12-03T10:15:30Z"
}

LegalDocumentConnection

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [LegalDocumentEdge!]! LegalDocumentEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [LegalDocumentEdge]
}

LegalDocumentEdge

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - LegalDocument! The account membership
Example
{
  "cursor": "xyz789",
  "node": LegalDocument
}

LegalDocumentInactiveStatusInfo

Fields
Field Name Description
status - LegalDocumentStatus! LegalDocument status (always Inactive for type LegalDocumentInactiveStatusInfo)
deactivatedAt - DateTime Deactivation date
Example
{
  "status": "Upcoming",
  "deactivatedAt": "2007-12-03T10:15:30Z"
}

LegalDocumentStatus

Values
Enum Value Description

Upcoming

when the LegalDocument will be the next active on the account

Active

when the LegalDocument is currently active on the account

Inactive

when the LegalDocument is no more active on the account
Example
"Upcoming"

LegalDocumentStatusInfo

Fields
Field Name Description
status - LegalDocumentStatus! LegalDocument Status
Example
{"status": "Upcoming"}

LegalDocumentType

Values
Enum Value Description

SwanTCU

Swan Terms & Conditions of Use
Example
"SwanTCU"

LegalDocumentUpcomingStatusInfo

Fields
Field Name Description
status - LegalDocumentStatus! LegalDocument status (always Upcoming for type LegalDocumentUpcomingStatusInfo)
Example
{"status": "Upcoming"}

LegalDocumentsFilterInput

Fields
Input Field Description
status - LegalDocumentStatus
Example
{"status": "Upcoming"}

LegalRepresentativeAccountMembershipCannotBeDisabledRejection

Fields
Field Name Description
accountMembershipId - String!
message - String!
Example
{
  "accountMembershipId": "abc123",
  "message": "abc123"
}

LegalRepresentativeAccountMembershipCannotBeSuspendedRejection

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

MandateLanguage

Description

Language: ISO 639-1 language code

Values
Enum Value Description

de

en

fr

it

nl

es

Example
"de"

MembershipInfoInput

Fields
Input Field Description
email - String!

email

restrictedTo - RestrictedToInput!

restricted to a user if necessary

canViewAccount - Boolean!

true if this account membership can view account balances and transactions history

canManageBeneficiaries - Boolean!

true if this account membership can add or canceled beneficiaries

canInitiatePayments - Boolean!

true if this account membership can initiate payments

canManageAccountMembership - Boolean!

true if this account membership can invite, update, suspend or resume account membership

canAddCards - Boolean

true if this account membership can add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")

canManageCards - Boolean

COMING SOON true if this account membership can manage cards for himself or to the memberships he manages

residencyAddress - ResidencyAddressInput

Residency address of the member to be added

taxIdentificationNumber - String

Tax Identification Number of the user added

Example
{
  "email": "xyz789",
  "restrictedTo": RestrictedToInput,
  "canViewAccount": false,
  "canManageBeneficiaries": false,
  "canInitiatePayments": false,
  "canManageAccountMembership": true,
  "canAddCards": true,
  "canManageCards": true,
  "residencyAddress": ResidencyAddressInput,
  "taxIdentificationNumber": "abc123"
}

MembershipsFilterInput

Description

Filters that can be applied when listing accounts (Only applied in user context)

Fields
Input Field Description
canAddCards - Boolean

Can the user add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")

canManageCards - Boolean

COMING SOON true if this account membership can manage cards for himself or to the memberships he manages

canInitiatePayments - Boolean

Can the user initiate payments on this account

canManageAccountMembership - Boolean

Can the user manage account membership

canManageBeneficiaries - Boolean

Can the user manage beneficiaries

canViewAccount - Boolean

Can the user view account

status - [AccountMembershipStatus!]

Account memberships status/statuses we're looking for

email - String

Filtered by email

firstName - String

Filtered by first name

lastName - String

Filtered by last name

search - String

Searches email, first name, last name, and id

Example
{
  "canAddCards": true,
  "canManageCards": false,
  "canInitiatePayments": false,
  "canManageAccountMembership": false,
  "canManageBeneficiaries": false,
  "canViewAccount": true,
  "status": ["ConsentPending"],
  "email": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "search": "xyz789"
}

MerchantCategoryDescription

Description

MerchantCategoryDescription

Values
Enum Value Description

AccessoryAndApparelStoresMiscellaneous

AccountingAuditingAndBookkeepingServices

AdvertisingServices

AgriculturalCooperatives

AirCarriersAirlinesNotElsewhereClassified

AirConditioningAndRefrigerationRepairShops

AirConditioningHeatingAndPlumbingContractors

AirlinesAirCarriers

AirportsAirportTerminalsFlyingFields

AlterationsMendingSeamstressesTailors

AmbulanceServices

AmusementParksCarnivalsCircusesFortuneTellers

AntiqueReproductionStores

AntiqueShopsSalesRepairsAndRestorationServices

ApplianceRepairShopsElectricalAndSmall

AquariumsDolphinariumsZoosAndSeaquariums

ArchitecturalEngineeringAndSurveyingServices

ArtDealersAndGalleries

ArtistSupplyStoresCraftShops

AssociationsCivicSocialAndFraternal

AthleticFieldsCommercialSportsProfessionalSportsClubsSportsPromoters

AttorneysLegalServices

AutomatedCashDisbursementsCustomerFinancialInstitution

AutomobileAndTruckDealersSalesServiceRepairsPartsAndLeasing

AutomobileAndTruckDealersUsedOnlySales

AutomobileAssociations

AutomobileParkingLotsAndGarages

AutomobileRentalAgencyNotElsewhereClassified

AutomotiveBodyRepairShops

AutomotivePaintShops

AutomotivePartsAccessoriesStores

AutomotiveServiceShops

AutomotiveTireStores

AutoStoreHomeSupplyStores

BailAndBondPayments

Bakeries

BandsOrchestrasAndMiscellaneousEntertainersNotElsewhereClassified

BarberAndBeautyShops

BarsCocktailLoungesDiscothequesNightclubsAndTavernsDrinkingPlacesAlcoholicBeverages

BicycleShopsSalesAndService

BoatDealers

BoatLeasesAndBoatRentals

BooksPeriodicalsAndNewspapers

BookStores

BowlingAlleys

BridgeAndRoadFeesTolls

BuildingMaterialsLumberStores

BusinessServicesNotElsewhereClassified

BusLines

BuyingOrShoppingClubsServices

CableSatelliteAndOtherPayTelevisionAndRadioServices

CameraAndPhotographicSupplyStores

CamperDealersRecreationalAndUtilityTrailers

CampgroundsAndTrailerParks

CandyNutConfectioneryStores

CardGiftNoveltyAndSouvenirShops

CarpentryContractors

CarpetAndUpholsteryCleaning

CarRentalAgencies

CarWashes

Caterers

ChemicalsAndAlliedProductsNotElsewhereClassified

ChildCareServices

ChildrenAndInfantsWearStores

ChiropodistsPodiatrists

Chiropractors

CigarStoresAndStands

CleaningAndMaintenanceJanitorialServices

CleaningGarmentAndLaundryServices

ClockJewelryAndWatchRepairShops

ClockJewelryWatchAndSilverwareStore

ClothingRentalCostumesUniformsAndFormalWear

ClubsCountryClubsMembershipAthleticRecreationSportsPrivateGolfCourses

CollegesUniversitiesProfessionalSchoolsAndJuniorColleges

CommercialArtGraphicsPhotography

CommercialEquipmentNotElsewhereClassified

CommercialFootwear

ComputerMaintenanceRepairAndServicesNotElsewhereClassified

ComputerNetworkOrInformationServices

ComputerProgrammingDataProcessingAndIntegratedSystemsDesignServices

ComputersComputerPeripheralEquipmentSoftware

ComputerSoftwareStores

ConcreteWorkContractors

ConstructionMaterialsNotElsewhereClassified

ConsultingManagementAndPublicRelationsServices

ConsumerCreditReportingAgencies

ContractorsSpecialTradeNotElsewhereClassified

CosmeticStores

CourierServiceAirAndGroundFreightForwarders

CourtCostsIncludingAlimonyAndChildSupport

CruiseLines

CrystalAndGlasswareStores

DairyProductsStores

DanceHallsSchoolsAndStudios

DatingServices

DebtMarriagePersonalCounselingService

DentalAndMedicalLaboratories

DentalLaboratoryMedicalOphthalmicHospitalEquipmentAndSupplies

DentistsOrthodontists

DepartmentStores

DetectiveAgenciesProtectiveAgenciesSecurityServicesIncludingArmoredCarsGuardDogs

DigitalGoodsAudiovisualMediaIncludingBooksMoviesAndMusic

DigitalGoodsGames

DigitalGoodsMultiCategory

DigitalGoodsSoftwareApplicationsExcludingGames

DirectMarketingCatalogMerchants

DirectMarketingCombinationCatalogAndRetailMerchants

DirectMarketingContinuitySubscriptionMerchants

DirectMarketingInboundTelemarketingMerchants

DirectMarketingInsuranceServices

DirectMarketingOtherDirectMarketersNotElsewhereClassified

DirectMarketingOutboundTelemarketingMerchants

DirectMarketingTravelRelatedArrangementServices

DiscountStores

DoctorsNotElsewhereClassified

DoorToDoorSales

DraperyUpholsteryAndWindowCoveringsStores

DrugsDrugProprietorsAndDruggistsSundries

DrugStoresPharmacies

DryCleaners

DurableGoodsNotElsewhereClassified

DutyFreeStores

EatingPlacesRestaurants

ElectricalContractors

ElectricalPartsAndEquipment

ElectricRazorStoresSalesAndService

ElectricVehicleCharging

ElectronicRepairShops

ElectronicSales

EmploymentAgenciesTemporaryHelpServices

EquipmentFurnitureAndHomeFurnishingsStoresExceptAppliances

EquipmentRentalAndLeasingServicesFurnitureRentalToolRental

ExterminatingAndDisinfectingServices

FabricNeedleworkPieceGoodsAndSewingStores

FamilyClothingStores

FastFoodRestaurants

Fines

FireplaceFireplaceScreensAndAccessoriesStores

FloorCoveringStores

Florists

FloristsSuppliesNurseryStockAndFlowers

FreezerLockerMeatProvisioners

FuelDealersCoalFuelOilLiquefiedPetroleumWood

FuelDispenserAutomated

FuneralServiceAndCrematories

FurnitureReupholsteryAndRepairRefinishing

FurriersAndFurShops

GamblingTransactions

GameToyAndHobbyShops

GeneralContractorsResidentialAndCommercial

GlassPaintWallpaperStores

GolfCoursesPublic

GovernmentLicensedHorseOrDogRacingUSRegionOnly

GovernmentOwnedLotterySpecificCountries

GovernmentOwnedLotteryUSRegionOnly

GovernmentServicesNotElsewhereClassified

GroceryStoresSupermarkets

HardwareEquipmentAndSupplies

HardwareStores

HatCleaningShopsShoeRepairShopsShoeShineParlors

HealthAndBeautySpas

HealthPractitionersMedicalServicesNotElsewhereClassified

HearingAidsSalesServiceSupplyStores

HomeSupplyWarehouseStores

HorticulturalAndLandscapingServices

Hospitals

HouseholdApplianceStores

IndustrialSuppliesNotElsewhereClassified

InformationRetrievalServices

InsulationMasonryPlasteringStoneworkAndTileSettingContractors

InsuranceSalesUnderwritingAndPremiums

InternetGamblingUSRegionOnly

IntraGovernmentPurchasesGovernmentOnly

KeyEntryTelecomMerchantProvidingSingleLocalAndLongDistancePhoneCallsUsingACentralAccessNumberInANonFaceToFaceEnvironmentUsingKeyEntry

LaundryServicesFamilyAndCommercial

LawnAndGardenSupplyStores

LeatherGoodsAndLuggageStores

LimousinesAndTaxicabs

LodgingHotelsMotelsResorts

LodgingHotelsMotelsResortsNotElsewhereClassified

ManualCashDisbursementsCustomerFinancialInstitution

MarinasMarineServiceSupplies

MassageParlors

MenAndBoysClothingAndAccessoriesStores

MenAndWomenClothingStores

MenWomenAndChildrenUniformsAndCommercialClothing

MerchandiseAndServicesCustomerFinancialInstitution

MetalServiceCentersAndOffices

MiscellaneousAndSpecialtyRetailStores

MiscellaneousAutomotiveAircraftAndFarmEquipmentDealersNotElsewhereClassified

MiscellaneousFoodStoresConvenienceStoresMarketsSpecialtyStores

MiscellaneousGeneralMerchandiseStores

MiscellaneousHouseFurnishingSpecialtyShops

MiscellaneousPublishingAndPrinting

MiscellaneousRepairShopsAndRelatedServices

MobileHomeDealers

MoneySendFunding

MoneySendInterCountry

MoneySendIntraCountry

MoneyTransfer

MotionPictureAndVideoTapeProductionAndDistribution

MotionPictureTheaters

MotorcycleShopsAndDealers

MotorFreightCarriersTruckingLocalLongDistanceMovingAndStorageCompaniesLocalDelivery

MotorHomeAndRecreationalVehicleRental

MotorHomeDealers

MotorVehicleSuppliesAndNewParts

MusicStoresMusicalInstrumentsPianosSheetMusic

NewsDealersAndNewsstands

NondurableGoodsNotElsewhereClassified

NursingAndPersonalCareFacilities

OfficeAndCommercialFurniture

OfficePhotographicPhotocopyAndMicrofilmEquipment

OfficeSchoolSupplyAndStationeryStores

OpticiansOpticalGoodsAndEyeglasses

OptometristsOphthalmologists

OrganizationsCharitableAndSocialService

OrganizationsMembershipNotElsewhereClassified

OrganizationsPolitical

OrganizationsReligious

OrthopedicGoodsArtificialLimbStores

OsteopathicPhysicians

OtherServicesNotElsewhereClassified

PackageStoresBeerWineAndLiquor

PaintsVarnishesAndSupplies

PassengerRailways

PawnShops

PaymentTransactionCustomerFinancialInstitution

PaymentTransactionMerchant

PetroleumAndPetroleumProducts

PetShopsPetFoodAndSupplies

PhotoDevelopingPhotofinishingLaboratories

PhotographicStudios

PieceGoodsNotionsAndOtherDryGoods

PlumbingAndHeatingEquipment

PoiFundingTransactions

PoolAndBilliardEstablishments

PostalServicesGovernmentOnly

PreciousStonesAndMetalsWatchesAndJewelry

ProfessionalServicesNotElsewhereClassified

PublicWarehousingFarmProductsRefrigeratedGoodsHouseholdGoodsStorage

QuasiCashCustomerFinancialInstitution

QuasiCashMerchant

QuickCopyReproductionAndBlueprintingServices

RailroadsFreight

RealEstateAgentsAndManagersRentals

RecordShops

RecreationalAndSportingCamps

RecreationServicesNotElsewhereClassified

ReligiousGoodsStores

RoofingAndSidingSheetMetalWorkContractors

SalvageAndWreckingYards

SanitationPolishingAndSpecialtyCleaningPreparations

SchoolsAndEducationalServicesNotElsewhereClassified

SchoolsBusinessAndSecretarial

SchoolsCorrespondence

SchoolsElementaryAndSecondary

SchoolsTradeAndVocational

SecondHandStoresUsedMerchandiseStores

SecuritiesBrokersDealers

ServiceStationsWithOrWithoutAncillaryServices

ShoeStores

SnowmobileDealers

SportingGoodsStores

SportsApparelRidingApparelStores

StampAndCoinStoresPhilatelicAndNumismaticSupplies

StationeryOfficeSuppliesPrintingAndWritingPaper

StenographicAndSecretarialSupportServices

SwimmingPoolsSalesAndSupplies

TaxPayments

TaxPreparationService

TelecommunicationEquipmentIncludingTelephoneSales

TelecommunicationServicesIncludingButNotLimitedToPrepaidPhoneServicesAndRecurringPhoneServices

TelegraphServices

TentAndAwningShops

TestingLaboratoriesNonMedical

TheatricalProducersExceptMotionPicturesAndTicketAgencies

Timeshares

TireRetreadingAndRepairShops

TouristAttractionsAndExhibits

TowingServices

TransportationServicesNotElsewhereClassified

TransportationSuburbanAndLocalCommuterPassengerIncludingFerries

TravelAgenciesAndTourOperators

TruckRental

TypesettingPlateMakingAndRelatedServices

TypewriterStoresRentalsSalesService

Unknown

UtilitiesElectricGasHeatingOilSanitaryWater

VarietyStores

VeterinaryServices

VideoAmusementGameSupplies

VideoEntertainmentRentalStores

VideoGameArcadesOrEstablishments

WeldingRepair

WholesaleClubs

WigAndToupeeShops

WomenAccessoryAndSpecialtyStores

WomenReadyToWearStores

Example
"AccessoryAndApparelStoresMiscellaneous"

MerchantPaymentMethod

Description

Base object for the different Payment Methods available

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
Example
{
  "id": "4",
  "type": "InternalDirectDebitStandard",
  "productId": 4,
  "methodId": "4",
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 987,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve
}

MerchantPaymentMethodStatus

Description

The different statuses a MerchantPaymentMethod can have

Values
Enum Value Description

PendingReview

Enabled

Rejected

Disabled

Canceled

Suspended

Example
"PendingReview"

MerchantPaymentMethodStatusInfo

Description

The payment method status information

Fields
Field Name Description
status - MerchantPaymentMethodStatus! Merchant Payment Method Status
Example
{"status": "PendingReview"}

MerchantPaymentMethodType

Description

The different statuses a MerchantPaymentMethod can have

Values
Enum Value Description

InternalDirectDebitStandard

InternalDirectDebitB2b

SepaDirectDebitCore

SepaDirectDebitB2b

Check

Example
"InternalDirectDebitStandard"

MerchantProfile

Description

Merchant Profile

Fields
Field Name Description
id - ID! The Merchant Profile ID
accountId - ID! The Account ID this Merchant Profile is linked to
merchantName - String! Business name of the merchant, i.e. name that will be displayed on debtors' bank statements
merchantWebsite - String Url of the merchant's website
merchantLogoUrl - String Url of the merchant's logo
statusInfo - MerchantProfileStatusInfo! The status of the merchant profile
productType - ProductType! Type of product sold. List of value: Goods, Services, VirtualGoods, GiftsAndDonations. Gifts and donations can be club subscription or collection of donations (for associations), tips collection, contributions for local authorities
expectedMonthlyPaymentVolume - Amount! Expected annual activity volumes for all payment method
merchantPaymentMethods - [MerchantPaymentMethod!] Payment Methods associated
requestedMerchantProfileUpdates - [RequestMerchantProfileUpdate!] Updates Requested associated
expectedAverageBasket - Amount! expected average basket value.
createdAt - DateTime! created date
updatedAt - DateTime! updated date
Example
{
  "id": 4,
  "accountId": 4,
  "merchantName": "abc123",
  "merchantWebsite": "xyz789",
  "merchantLogoUrl": "abc123",
  "statusInfo": MerchantProfileStatusInfo,
  "productType": "Goods",
  "expectedMonthlyPaymentVolume": Amount,
  "merchantPaymentMethods": [MerchantPaymentMethod],
  "requestedMerchantProfileUpdates": [
    RequestMerchantProfileUpdate
  ],
  "expectedAverageBasket": Amount,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

MerchantProfileConnection

Fields
Field Name Description
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [MerchantProfileEdge!]! Edge list
totalCount - Int! Total number of element in the list
Example
{
  "pageInfo": PageInfo,
  "edges": [MerchantProfileEdge],
  "totalCount": 123
}

MerchantProfileEdge

Fields
Field Name Description
node - MerchantProfile!
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
Example
{
  "node": MerchantProfile,
  "cursor": "xyz789"
}

MerchantProfileFiltersInput

Description

Filters that can be applied when listing Funding Sources

Fields
Input Field Description
status - [MerchantProfileStatus!]!
Example
{"status": ["PendingReview"]}

MerchantProfileOrderByFieldInput

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

MerchantProfileOrderByInput

Fields
Input Field Description
field - MerchantProfileOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

MerchantProfileStatus

Description

Merchant Profile Statuses

Values
Enum Value Description

PendingReview

A Merchant Profile is created in the PendingReview status

Enabled

Enabled

Rejected

Rejected

Canceled

Canceled

Suspended

Suspended
Example
"PendingReview"

MerchantProfileStatusInfo

Description

Merchant Profile Status Information

Fields
Field Name Description
status - MerchantProfileStatus!
Example
{"status": "PendingReview"}

MissingMandatoryFieldRejection

Description

Rejection returned when mandatory fields are missing from the call.

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

MonthlyIncome

Description

Monthly income.

Values
Enum Value Description

LessThan500

less than 500

Between500And1500

between 500 and 1500

Between1500And3000

between 1500 and 3000

Between3000And4500

between 3000 and 4500

MoreThan4500

more than 4500
Example
"LessThan500"

MonthlyPaymentVolume

Description

Monthly payment volume.

Values
Enum Value Description

Between10000And50000

Between50000And100000

LessThan10000

MoreThan100000

Example
"Between10000And50000"

NoneAccountOpeningEmailSettings

Fields
Field Name Description
recipient - AccountOpeningEmailRecipient!
Example
{"recipient": "Partner"}

NotFoundRejection

Description

Rejection returned if the entity was not found or if the user does not have the rights to know that the account exists

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

NotReachableConsentStatusRejection

Description

Rejection returned when consent status couldn't change

Fields
Field Name Description
message - String!
currentStatus - ConsentStatus
unreachableStatus - ConsentStatus
Example
{
  "message": "xyz789",
  "currentStatus": "Accepted",
  "unreachableStatus": "Accepted"
}

OAuthRedirectParameters

Description

Extra parameters provided by partner

Fields
Field Name Description
state - String Custom state provided by partner to prevent XSRF attack, will be filled by onBoardingId in case of nullity.
redirectUrl - String URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking.
Example
{
  "state": "xyz789",
  "redirectUrl": "xyz789"
}

OAuthRedirectParametersInput

Fields
Input Field Description
state - String

Custom state provided by partner to prevent XSRF attack, will be filled by onBoardingId in case of nullity. Length must be from 0 to 255 characters

redirectUrl - String

URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking. Length must be from 0 to 255 characters

Example
{
  "state": "xyz789",
  "redirectUrl": "xyz789"
}

OnboardCompanyAccountHolderInput

Description

Inputs to onboard a new company account holder

Fields
Input Field Description
accountName - String

Account name of the company account holder. Length must be from 0 to 100 characters

name - String

Name of the company. Length must be from 0 to 255 characters

registrationNumber - String

Registration number of the company (SIRET, ...). Length must be from 0 to 50 characters

companyType - CompanyType

Type of the company (Association ...)

businessActivity - BusinessActivity

Business activity

businessActivityDescription - String

Business activity description. Length must be from 0 to 1024 characters

accountCountry - AccountCountry

Country of the account that will be created at the end of the onboarding process

monthlyPaymentVolume - MonthlyPaymentVolume

Estimated monthly payment volume (euro)

individualUltimateBeneficialOwners - [IndividualUltimateBeneficialOwnerInput!]

The ultimate beneficial owner is defined as the natural person (s) who own or control, directly and/or indirectly, the reporting company.

The ultimate beneficial owner is :

  • either the natural person (s) who hold, directly or indirectly, more than 25% of the capital or the rights of vote of the reporting company;
  • either the natural person (s) who exercise, by other means, a power of control of the company;
residencyAddress - ResidencyAddressInput

Residency address of the head office (Must be in a European country)

email - String

Email of the legal representative. Length must be from 0 to 255 characters

language - String

Language of the onboarding process. Must be compliant with RFC 5646

redirectUrl - String

URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking. Length must be from 0 to 255 characters

isRegistered - Boolean

Is company registered at RCS in its country

oAuthRedirectParameters - OAuthRedirectParametersInput

Extra parameters provided by partner

vatNumber - String

VAT number

taxIdentificationNumber - String

Tax Identification Number

legalRepresentativePersonalAddress - AddressInformationInput

Legal representative personal address

typeOfRepresentation - TypeOfRepresentation

Type of representation (legal representative or power of attorney)

Example
{
  "accountName": "xyz789",
  "name": "xyz789",
  "registrationNumber": "xyz789",
  "companyType": "Association",
  "businessActivity": "AdministrativeServices",
  "businessActivityDescription": "xyz789",
  "accountCountry": "FRA",
  "monthlyPaymentVolume": "Between10000And50000",
  "individualUltimateBeneficialOwners": [
    IndividualUltimateBeneficialOwnerInput
  ],
  "residencyAddress": ResidencyAddressInput,
  "email": "xyz789",
  "language": "abc123",
  "redirectUrl": "abc123",
  "isRegistered": true,
  "oAuthRedirectParameters": OAuthRedirectParametersInput,
  "vatNumber": "xyz789",
  "taxIdentificationNumber": "abc123",
  "legalRepresentativePersonalAddress": AddressInformationInput,
  "typeOfRepresentation": "LegalRepresentative"
}

OnboardCompanyAccountHolderPayload

Example
OnboardCompanyAccountHolderSuccessPayload

OnboardCompanyAccountHolderSuccessPayload

Fields
Field Name Description
onboarding - Onboarding!
Example
{"onboarding": Onboarding}

OnboardCompanyShareholderInput

Description

Information on the shareholder.

Fields
Input Field Description
capitalDepositAmount - AmountInput!

Amount the shareholder has to deposit.

name - String!

Name ("Dénomination sociale") of the shareholder.

onboardingInfo - OnboardCompanyAccountHolderInput!

Information required for the onboarding of a company shareholder.

Example
{
  "capitalDepositAmount": AmountInput,
  "name": "abc123",
  "onboardingInfo": OnboardCompanyAccountHolderInput
}

OnboardIndividualAccountHolderInput

Description

Inputs to onboard a new individual account holder

Fields
Input Field Description
accountName - String

Account name of the individual account holder. Length must be from 0 to 255 characters

accountCountry - AccountCountry

Country of the account that will be created at the end of the onboarding process

employmentStatus - EmploymentStatus

Employment status of the individual account holder

monthlyIncome - MonthlyIncome

Monthly income of the individual account holder

residencyAddress - ResidencyAddressInput

Residency address of the individual account holder (must be in a European country)

email - String

Email. Length must be from 0 to 255 characters

language - String

Language of the onboarding process. Must be compliant with RFC 5646

redirectUrl - String

URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking. Length must be from 0 to 255 characters

oAuthRedirectParameters - OAuthRedirectParametersInput

Extra parameters provided by partner

taxIdentificationNumber - String

Tax Identification Number

Example
{
  "accountName": "abc123",
  "accountCountry": "FRA",
  "employmentStatus": "Craftsman",
  "monthlyIncome": "LessThan500",
  "residencyAddress": ResidencyAddressInput,
  "email": "xyz789",
  "language": "xyz789",
  "redirectUrl": "xyz789",
  "oAuthRedirectParameters": OAuthRedirectParametersInput,
  "taxIdentificationNumber": "xyz789"
}

OnboardIndividualAccountHolderPayload

Example
OnboardIndividualAccountHolderSuccessPayload

OnboardIndividualAccountHolderSuccessPayload

Fields
Field Name Description
onboarding - Onboarding!
Example
{"onboarding": Onboarding}

OnboardIndividualShareholderInput

Description

Information on the shareholder.

Fields
Input Field Description
firstName - String!

First name of the shareholder.

lastName - String!

Last name of the shareholder.

birthDate - String!

Birthdate of the shareholder in the YYYY/MM/DD format.

nationality - CCA3!

CCA3 code for the country of nationality of the shareholder.

capitalDepositAmount - AmountInput!

Amount the shareholder has to deposit.

onboardingInfo - OnboardIndividualAccountHolderInput!

Information required for the onboarding of a individual shareholder.

Example
{
  "firstName": "xyz789",
  "lastName": "abc123",
  "birthDate": "xyz789",
  "nationality": CCA3,
  "capitalDepositAmount": AmountInput,
  "onboardingInfo": OnboardIndividualAccountHolderInput
}

Onboarding

Description

Information provided during the onboarding process of an individual or a company

Fields
Field Name Description
id - String! Unique identifier of an onboarding
accountName - String Account name
accountCountry - AccountCountry! Account Country
createdAt - DateTime! Creation date
email - String Email
finalizedAt - DateTime Finalization date
language - String Language of the onboarding process. This consists of a 2-3 letter base language tag representing the language, optionally followed by additional subtags separated by '-'. The most common extra information is the country or region variant (like 'en-US' or 'fr-CA') or the type of alphabet to use (like 'sr-Latn'). Other variants like the type of orthography ('de-DE-1996') are usually not used in the context of this header. Learn More
info - OnboardingAccountHolderInfo! Information regarding the Individual or the company to onboard
accountHolder - AccountHolder Account holder created at the end of the onboarding process
onboardingUrl - String! Redirect the legal representative of a new account holder to this URL to start the onboarding process
onboardingState - OnboardingState! Current computed state of onboarding
redirectUrl - String! URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking. Use redirectUrl field on oauthRedirectParameters parameters instead.
oAuthRedirectParameters - OAuthRedirectParameters Extra parameters provided by partner
statusInfo - OnboardingStatusInfo! Status (valid/invalid/finalized) and details of errors on fields
tcuUrl - String! Swan TCU URL
supportingDocumentCollection - SupportingDocumentCollection! List of supporting document collection owned by the account holder.
updatedAt - DateTime! Creation date
account - Account Account opened after the onboarding finalization
legalRepresentativeAcceptedIdentificationLevels - [IdentificationLevel]! List of accepted identification level for the legal representative
legalRepresentativeRecommendedIdentificationLevel - IdentificationLevel! Recommended identification level for the legal representative
Example
{
  "id": "abc123",
  "accountName": "abc123",
  "accountCountry": "FRA",
  "createdAt": "2007-12-03T10:15:30Z",
  "email": "xyz789",
  "finalizedAt": "2007-12-03T10:15:30Z",
  "language": "abc123",
  "info": OnboardingAccountHolderInfo,
  "accountHolder": AccountHolder,
  "onboardingUrl": "abc123",
  "onboardingState": "Ongoing",
  "redirectUrl": "abc123",
  "oAuthRedirectParameters": OAuthRedirectParameters,
  "statusInfo": OnboardingStatusInfo,
  "tcuUrl": "xyz789",
  "supportingDocumentCollection": SupportingDocumentCollection,
  "updatedAt": "2007-12-03T10:15:30Z",
  "account": Account,
  "legalRepresentativeAcceptedIdentificationLevels": ["Expert"],
  "legalRepresentativeRecommendedIdentificationLevel": "Expert"
}

OnboardingAccountHolderInfo

Description

The onboarding could be for an Individual or a company

Fields
Field Name Description
type - AccountHolderType! Account holder type
Possible Types
OnboardingAccountHolderInfo Types

OnboardingCompanyAccountHolderInfo

OnboardingIndividualAccountHolderInfo

Example
{"type": "Individual"}

OnboardingCompanyAccountHolderInfo

Description

Company Account Holder Information

Fields
Field Name Description
type - AccountHolderType! Account holder type (always Company for type OnboardingCompanyAccountHolderInfo)
name - String name of the company
registrationNumber - String registration number of the company (SIRET, ...)
companyType - CompanyType legal form of the company (SAS, SCI, SASU, ...)
businessActivity - BusinessActivity business activity
businessActivityDescription - String business activity description This must be 1024 characters long maximum.
monthlyPaymentVolume - MonthlyPaymentVolume estimated monthly payment volume (euro)
individualUltimateBeneficialOwners - [IndividualUltimateBeneficialOwner!]

The ultimate beneficiary is defined as the natural person (s) who own or control, directly or indirectly, the reporting company.

The ultimate beneficiary is :

  • either the natural person (s) who hold, directly or indirectly, more than 25% of the capital or the rights of vote of the reporting company;
  • either the natural person (s) who exercise, by other means, a power of control of the company;
residencyAddress - AddressInfo residency address of the head office (Must be in a European country)
isRegistered - Boolean Is company registered at RCS in its country
vatNumber - String Unique number that identifies a taxable person (business) or non-taxable legal entity that is registered for VAT
taxIdentificationNumber - String Tax Identification Number
legalRepresentativePersonalAddress - AddressInformation Legal representative personal address
typeOfRepresentation - TypeOfRepresentation Type of representation (legal representative or power of attorney)
Example
{
  "type": "Individual",
  "name": "abc123",
  "registrationNumber": "xyz789",
  "companyType": "Association",
  "businessActivity": "AdministrativeServices",
  "businessActivityDescription": "abc123",
  "monthlyPaymentVolume": "Between10000And50000",
  "individualUltimateBeneficialOwners": [
    IndividualUltimateBeneficialOwner
  ],
  "residencyAddress": AddressInfo,
  "isRegistered": true,
  "vatNumber": "xyz789",
  "taxIdentificationNumber": "abc123",
  "legalRepresentativePersonalAddress": AddressInformation,
  "typeOfRepresentation": "LegalRepresentative"
}

OnboardingConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [OnboardingEdge!]! OnboardingEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [OnboardingEdge]
}

OnboardingEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this onboarding node in the pagination mechanism
node - Onboarding! The Onboarding
Example
{
  "cursor": "abc123",
  "node": Onboarding
}

OnboardingFiltersInput

Description

Filters that can be applied when listing onboardings

Fields
Input Field Description
types - [AccountHolderType!]

Type/Types we want to filter on

email - String

Email we want to filter on

search - String

Searches company name, first name, last name

status - [OnboardingStatus!]

Status we want to filter on

Example
{
  "types": ["Individual"],
  "email": "abc123",
  "search": "xyz789",
  "status": ["Finalized"]
}

OnboardingFinalizedStatusInfo

Description

StatusInfo when onboarding has been finalized

Fields
Field Name Description
status - OnboardingStatus!
Example
{"status": "Finalized"}

OnboardingIndividualAccountHolderInfo

Description

Individual Account Holder Information

Fields
Field Name Description
type - AccountHolderType! Account holder type (always Individual for type OnboardingIndividualAccountHolderInfo)
employmentStatus - EmploymentStatus employment status of the individual account holder
monthlyIncome - MonthlyIncome monthly income of the individual account holder
residencyAddress - AddressInfo residency address of the individual account holder (must be in a European country)
taxIdentificationNumber - String Tax Identification Number
Example
{
  "type": "Individual",
  "employmentStatus": "Craftsman",
  "monthlyIncome": "LessThan500",
  "residencyAddress": AddressInfo,
  "taxIdentificationNumber": "abc123"
}

OnboardingInfo

Fields
Field Name Description
id - String! unique identifier of an onboarding
accountName - String Account name
accountCountry - AccountCountry Country of the account that will be created at the end of the onboarding process
email - String email
language - String language of the onboarding process. This consists of a 2-3 letter base language tag representing the language, optionally followed by additional subtags separated by '-'. The most common extra information is the country or region variant (like 'en-US' or 'fr-CA') or the type of alphabet to use (like 'sr-Latn'). Other variants like the type of orthography ('de-DE-1996') are usually not used in the context of this header. Learn More
info - OnboardingAccountHolderInfo! Information regarding the Individual or the company to onboard
onboardingUrl - String! Redirect the legal representative of a new account holder to this URL to start the onboarding process
onboardingState - OnboardingState Current computed state of onboarding
redirectUrl - String! URL used to redirect the user at the end of the onboarding process. If null the user is redirected to the white label web banking.
projectInfo - ProjectInfo Project infos you set in the dashboard
verificationFlow - VerificationFlow! Verification Flow
oAuthRedirectParameters - OAuthRedirectParameters Extra parameters provided by partner
statusInfo - OnboardingStatusInfo! Status (valid/invalid/finalized) and details of errors on fields
supportingDocumentCollection - SupportingDocumentCollection! Supporting document collection related to onboarding.
legalRepresentativeAcceptedIdentificationLevels - [IdentificationLevel]! List of accepted identification level for the legal representative
legalRepresentativeRecommendedIdentificationLevel - IdentificationLevel! Recommended identification level for the legal representative
tcuUrl - String! Swan TCU URL
Example
{
  "id": "xyz789",
  "accountName": "abc123",
  "accountCountry": "FRA",
  "email": "abc123",
  "language": "abc123",
  "info": OnboardingAccountHolderInfo,
  "onboardingUrl": "abc123",
  "onboardingState": "Ongoing",
  "redirectUrl": "abc123",
  "projectInfo": ProjectInfo,
  "verificationFlow": "Upfront",
  "oAuthRedirectParameters": OAuthRedirectParameters,
  "statusInfo": OnboardingStatusInfo,
  "supportingDocumentCollection": SupportingDocumentCollection,
  "legalRepresentativeAcceptedIdentificationLevels": ["Expert"],
  "legalRepresentativeRecommendedIdentificationLevel": "Expert",
  "tcuUrl": "xyz789"
}

OnboardingInvalidStatusInfo

Description

StatusInfo when onboarding has still at least one incorrect field

Fields
Field Name Description
status - OnboardingStatus!
errors - [ValidationError!]!
Example
{"status": "Finalized", "errors": [ValidationError]}

OnboardingNotCompletedRejection

Description

Rejection returned if an onboarding is not completed

Fields
Field Name Description
message - String!
onboardingId - String! @deprecated(reason: "use onboarding.id instead")
onboarding - Onboarding!
Example
{
  "message": "xyz789",
  "onboardingId": "abc123",
  "onboarding": Onboarding
}

OnboardingOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing onboardings

Values
Enum Value Description

createdAt

updatedAt

finalizedAt

Example
"createdAt"

OnboardingOrderByInput

Description

Order that can be applied when listing onboardings

Fields
Input Field Description
field - OnboardingOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

OnboardingState

Description

Onboarding process state

Values
Enum Value Description

Ongoing

When the onboarding is in progress

Completed

When the onboarding is finalized and the account holder is created
Example
"Ongoing"

OnboardingStatus

Description

Possible values for onboarding status

Values
Enum Value Description

Finalized

When the onboarding is finalized

Invalid

when the onboarding is invalid. Final status

Valid

When the onboarding is valid. Final status
Example
"Finalized"

OnboardingStatusInfo

Description

Object containing details about onboarding status (valid/invalid and why it is invalid/already finalized)

Fields
Field Name Description
status - OnboardingStatus! Current onboarding status. Onboarding can only be finalized if status is "valid"
Example
{"status": "Finalized"}

OnboardingValidStatusInfo

Description

StatusInfo when onboarding has all onboarding fields are correctly filled

Fields
Field Name Description
status - OnboardingStatus!
Example
{"status": "Finalized"}

OrderByDirection

Values
Enum Value Description

Asc

Desc

Example
"Asc"

PINNotReadyRejection

Fields
Field Name Description
physicalCardIdentifier - String!
message - String!
Example
{
  "physicalCardIdentifier": "abc123",
  "message": "xyz789"
}

PageInfo

Description

Implements PageInfo from the Relay Connections Specification - information about a page in the pagination mechanism

Fields
Field Name Description
hasNextPage - Boolean Indicates whether more edges exist following this page
hasPreviousPage - Boolean Indicates whether more edges exist preceding this page
startCursor - String Opaque identifier pointing to the first node of the page
endCursor - String Opaque identifier pointing to the last node of the page
Example
{
  "hasNextPage": false,
  "hasPreviousPage": false,
  "startCursor": "abc123",
  "endCursor": "xyz789"
}

PartnerAccountOpeningEmailSettings

Fields
Field Name Description
recipient - AccountOpeningEmailRecipient!
email - String!
communicationLanguage - AccountOpeningEmailCommunicationLanguage!
Example
{
  "recipient": "Partner",
  "email": "xyz789",
  "communicationLanguage": "de"
}

PartnerCloseAccountReasonInput

Description

Input version

Fields
Input Field Description
type - PartnerCloseAccountReasonType!
message - String
Example
{
  "type": "ClosingRequested",
  "message": "abc123"
}

PartnerCloseAccountReasonType

Description

Specific type for closing account action

Values
Enum Value Description

ClosingRequested

Simple closing request
Example
"ClosingRequested"

PartnershipAcceptedStatusInfo

Description

Partnership Status Accepted

Fields
Field Name Description
status - PartnershipStatus! Partnership status (always Accepted for type PartnershipAcceptedStatusInfo)
acceptedDate - DateTime! Accepted date of the partnership for this account
Example
{
  "status": "Accepted",
  "acceptedDate": "2007-12-03T10:15:30Z"
}

PartnershipCanceledStatusInfo

Description

Partnership Status canceled

Fields
Field Name Description
status - PartnershipStatus! Partnership status (always Canceled for type PartnershipCanceledStatusInfo)
acceptedDate - DateTime! Accepted date of the partnership for this account
canceledDate - DateTime! Canceled date of the partnership for this account
reason - String! Reason of the cancelation
Example
{
  "status": "Accepted",
  "acceptedDate": "2007-12-03T10:15:30Z",
  "canceledDate": "2007-12-03T10:15:30Z",
  "reason": "xyz789"
}

PartnershipCancelingStatusInfo

Description

Partnership Status currently cancelling

Fields
Field Name Description
status - PartnershipStatus! Partnership status (always Canceling for type PartnershipCancelingStatusInfo)
acceptedDate - DateTime! Accepted date of the partnership for this account
canceledAfter - DateTime! Canceled date of the partnership for this account
Example
{
  "status": "Accepted",
  "acceptedDate": "2007-12-03T10:15:30Z",
  "canceledAfter": "2007-12-03T10:15:30Z"
}

PartnershipStatus

Values
Enum Value Description

Accepted

When the partnership is accepted by the account holder for this account

Canceling

When you decide to stop the partnership, you have 2 months notice

Canceled

When the partnership was canceled by you or the account holder
Example
"Accepted"

PartnershipStatusInfo

Description

Partnership Status information

Fields
Field Name Description
status - PartnershipStatus! Status of the partnership for this account
Example
{"status": "Accepted"}

Payment

Description

A Payment represents a set of transactions linked to the same payment act.

This payment act can be initiated:

  • either from a user
  • either from a merchant
  • either from you
  • either from Swan
Fields
Field Name Description
id - ID! unique identifier of a payment
createdAt - DateTime! created date
updatedAt - DateTime! updated date
statusInfo - PaymentStatusInfo! status information
transactions - TransactionConnection list of transactions associated to this payment
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

standingOrder - StandingOrder standing order that has initiated this payment
Example
{
  "id": "4",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "statusInfo": PaymentStatusInfo,
  "transactions": TransactionConnection,
  "standingOrder": StandingOrder
}

PaymentAccountType

Values
Enum Value Description

EMoney

When the account holder if the account hasn't met KYC requirements

PaymentService

When all KYC requirements are met
Example
"EMoney"

PaymentConnection

Description

Please see the Connection interface

Fields
Field Name Description
pageInfo - PageInfo!
edges - [PaymentEdge!]!
totalCount - Int!
Example
{
  "pageInfo": PageInfo,
  "edges": [PaymentEdge],
  "totalCount": 123
}

PaymentConsentPending

Description

Payment status consent pending

Fields
Field Name Description
status - PaymentStatus! status of the payment
consent - Consent! The consent required to initiate this payment
Example
{"status": "ConsentPending", "consent": Consent}

PaymentDirectDebitMandate

Fields
Field Name Description
id - ID! Unique identifier of the Direct Debit Payment Mandate
Possible Types
PaymentDirectDebitMandate Types

InternalPaymentDirectDebitMandate

SEPAPaymentDirectDebitMandate

Example
{"id": 4}

PaymentEdge

Description

Please see the Connection interface

Fields
Field Name Description
node - Payment!
cursor - String!
Example
{
  "node": Payment,
  "cursor": "abc123"
}

PaymentFiltersInput

Description

Filters that can be applied when listing payments

Fields
Input Field Description
status - [PaymentStatus!]
Example
{"status": ["ConsentPending"]}

PaymentInitiated

Description

Payment status initiated

Fields
Field Name Description
status - PaymentStatus! status of the payment
Example
{"status": "ConsentPending"}

PaymentLevel

Description

Payment Level of the account

Values
Enum Value Description

Limited

When the account is limited to 150€ within 30 days and with no IBAN

Unlimited

When the account holder is fully verified and then the account is unlimited with an IBAN
Example
"Limited"

PaymentMandate

Fields
Field Name Description
id - ID! Unique identifier of the Payment Mandate
Example
{"id": "4"}

PaymentMandateCanceledReason

Values
Enum Value Description

RequestedByUser

When the user requested to cancel the Payment Mandate

MandateExpired

When the Payment Mandate is expired
Example
"RequestedByUser"

PaymentMandateCanceledStatusInfo

Description

Payment Mandate Canceled status information

Fields
Field Name Description
status - PaymentMandateStatus! Payment Mandate status (always Canceled for type PaymentMandateCanceledStatusInfo).
reason - PaymentMandateCanceledReason! Reason behind the Payment Mandate Canceled status
Example
{"status": "ConsentPending", "reason": "RequestedByUser"}

PaymentMandateConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of elements in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [PaymentMandateEdge!]! PaymentMandateEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [PaymentMandateEdge]
}

PaymentMandateConsentPendingStatusInfo

Description

Payment Mandate Consent Pending status information

Fields
Field Name Description
status - PaymentMandateStatus! Payment Mandate status (always Enabled for type PaymentMandateEnableedStatusInfo).
consent - Consent! Consent information required to enable the concerned Payment Mandate
Example
{"status": "ConsentPending", "consent": Consent}

PaymentMandateCreditor

Fields
Field Name Description
id - ID! Creditor UUID
name - String! Creditor name
address - Address! Creditor address
Possible Types
PaymentMandateCreditor Types

InternalPaymentMandateCreditor

SEPAPaymentMandateCreditor

Example
{
  "id": "4",
  "name": "xyz789",
  "address": Address
}

PaymentMandateDebtor

Fields
Field Name Description
name - String! Debtor name
email - String Debtor e-mail
country - CCA3! Debtor country
Possible Types
PaymentMandateDebtor Types

InternalPaymentMandateDebtor

SEPAPaymentMandateDebtor

Example
{
  "name": "abc123",
  "email": "xyz789",
  "country": CCA3
}

PaymentMandateEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this onboarding node in the pagination mechanism
node - PaymentMandate! The payment mandate
Example
{
  "cursor": "abc123",
  "node": PaymentMandate
}

PaymentMandateEnabledStatusInfo

Description

Payment Mandate Enabled status information

Fields
Field Name Description
status - PaymentMandateStatus! Payment Mandate status (always Enabled for type PaymentMandateEnabledStatusInfo).
Example
{"status": "ConsentPending"}

PaymentMandateFiltersInput

Description

Filter that can be passed to get the payment mandate in a specific data range

Fields
Input Field Description
status - [PaymentMandateStatus!]

To filter on status values

scheme - [PaymentMandateScheme!]

To filter on scheme values

Example
{"status": ["ConsentPending"], "scheme": ["SepaDirectDebitCore"]}

PaymentMandateMandateNotFoundRejection

Description

Error returned if the payment mandate was not found

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

PaymentMandateOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing payment mandate results

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

PaymentMandateOrderByInput

Description

Order that can be applied when listing payment mandate results

Fields
Input Field Description
field - PaymentMandateOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

PaymentMandateReferenceAlreadyUsedRejection

Description

Rejection returned if the payment mandate reference is already used for the same creditor

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

PaymentMandateRejectedStatusInfo

Description

Payment Mandate Rejected status information

Fields
Field Name Description
status - PaymentMandateStatus! Payment Mandate status (always Rejected for type PaymentMandateSuspendedStatusInfo).
Example
{"status": "ConsentPending"}

PaymentMandateScheme

Values
Enum Value Description

SepaDirectDebitCore

SEPA Direct Debit Core

SepaDirectDebitB2b

SEPA Direct Debit B2B

InternalDirectDebitStandard

Internal Direct Debit Standard

InternalDirectDebitB2b

Internal Direct Debit B2B
Example
"SepaDirectDebitCore"

PaymentMandateStatus

Description

Payment Mandate status

Values
Enum Value Description

ConsentPending

Enabled

Rejected

Canceled

Example
"ConsentPending"

PaymentMandateStatusInfo

Description

Payment Mandate status information

Fields
Field Name Description
status - PaymentMandateStatus! Status of the payment mandate.
Example
{"status": "ConsentPending"}

PaymentMethodNotCompatibleRejection

Description

Rejection returned when a payment method is not compatible for the requested mutation

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

PaymentOrderByFieldInput

Description

Field we can use when ordering that can be applied when listing payment

Values
Enum Value Description

createdAt

updatedAt

Example
"createdAt"

PaymentOrderByInput

Description

Order that can be applied when listing payments

Fields
Input Field Description
field - PaymentOrderByFieldInput
direction - OrderByDirection
Example
{"field": "createdAt", "direction": "Asc"}

PaymentProduct

Description

Payment product

Values
Enum Value Description

InternalCreditTransfer

When the payment is an Internal Credit Transfer operation

SEPACreditTransfer

When the payment is a Sepa Credit Transfer operation

SEPADirectDebit

When the payment is a Sepa Direct Debit operation

Card

When the payment is a Card operation

Fees

When the payment is a Fees operation

InternalDirectDebit

When the payment is an Internal Direct Debit operation

Check

When the payment is a Check operation

InternationalCreditTransfer

When the payment is an International Credit Transfer operation
Example
"InternalCreditTransfer"

PaymentRejected

Description

Payment status rejected

Fields
Field Name Description
status - PaymentStatus! status of the payment
reason - String! rejected reason
Example
{
  "status": "ConsentPending",
  "reason": "xyz789"
}

PaymentStatus

Description

Payment status

Values
Enum Value Description

ConsentPending

when a consent is pending before initiating the payment

Initiated

when the payment has been initiated

Rejected

when the payment has been rejected
Example
"ConsentPending"

PaymentStatusInfo

Description

Payment Status Information

Fields
Field Name Description
status - PaymentStatus! status of the payment
Possible Types
PaymentStatusInfo Types

PaymentConsentPending

PaymentInitiated

PaymentRejected

Example
{"status": "ConsentPending"}

PdfStatement

Description

Custom information for a PDF statement

Fields
Field Name Description
type - StatementType statement type
url - String temporary public url on which the file can be accessed
expiresAt - DateTime date at which the link will not be useable anymore
Example
{
  "type": "PDF",
  "url": "abc123",
  "expiresAt": "2007-12-03T10:15:30Z"
}

PendingDigitalCard

Description

Pending Digital Card used for ApplePay or GooglePay

Fields
Field Name Description
id - ID! Unique identifier of a digital card
type - DigitalizationType! The type of digitalization that created this digital card.
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
walletProvider - WalletProvider! Wallet Provider (ApplePay, GooglePay ...)
statusInfo - PendingDigitalCardStatusInfo!

Digital Card status information

In this type the status will be either ConsentPending or Pending

inAppProvisioningData - InAppProvisioningData

Data to provide to the wallet during InApp Provisioning

Signature Data is mandatory for ApplePay

This data is only available for a digital card in

  • status: Pending
  • type: InApp
Arguments
signatureData - SignatureData
Example
{
  "id": 4,
  "type": "Manual",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "walletProvider": WalletProvider,
  "statusInfo": PendingDigitalCardStatusInfo,
  "inAppProvisioningData": InAppProvisioningData
}

PendingDigitalCardStatus

Description

Pending Digital Card Status

Values
Enum Value Description

ConsentPending

when the digital card is waiting for the user to finish his consent

Pending

when the digital card is pending the end of the digitalization process

Declined

when the creation of a digital card is declined

this is a final state

Example
"ConsentPending"

PendingDigitalCardStatusInfo

Description

Pending Digital Card Status Information

Fields
Field Name Description
status - PendingDigitalCardStatus! Status of the digital card.
Example
{"status": "ConsentPending"}

PendingFundingSourceStatusInfo

Description

Funding Source Pending status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Pending status
Example
{"status": "Pending"}

PendingMerchantPaymentMethodStatusInfo

Description

PendingMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
Example
{"status": "PendingReview"}

PendingReviewMerchantProfileStatusInfo

Description

PendingReviewMerchantProfileStatusInfo

Fields
Field Name Description
status - MerchantProfileStatus!
Example
{"status": "PendingReview"}

PendingReviewStatusInfo

Description

Pending Verification Information

Fields
Field Name Description
status - AccountVerificationStatus! Account verification status (PendingReview)
Example
{"status": "PendingVerification"}

PendingTransactionStatusInfo

Description

Pending transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
pendingEndDate - DateTime The date when the pending amount of this transaction is released on the available balance of this account if not booked
Example
{
  "status": "Booked",
  "pendingEndDate": "2007-12-03T10:15:30Z"
}

PendingVerificationStatusInfo

Description

Pending Verification Information

Fields
Field Name Description
status - AccountVerificationStatus! Account verification status (PendingVerification)
Example
{"status": "PendingVerification"}

PermissionCannotBeGrantedRejection

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

PhoneNumber

Description

E.164 standard format phone number

Examples +551155256325 +44207183875

Example
"+17895551234"

PhysicalCard

Description

Physical Card

Fields
Field Name Description
statusInfo - PhysicalCardStatusInfo! Physical Card status information
expiryDate - String Physical Card expiration date with MM/YY string format
identifier - String Unique identifier present on physical card, such identifier is null if the status is ToActivate or Canceled. This identifier is updated when a renewed card is activated
offlineSpendingLimit - Amount! Offline Spending limit defined by Swan
cardMaskedNumber - String! Masked Card Number
Example
{
  "statusInfo": PhysicalCardStatusInfo,
  "expiryDate": "xyz789",
  "identifier": "xyz789",
  "offlineSpendingLimit": Amount,
  "cardMaskedNumber": "abc123"
}

PhysicalCardActivatedStatusInfo

Description

Physical Card Activated Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always Activated for type PhysicalCardEnabledStatusInfo).
Example
{"status": "ConsentPending"}

PhysicalCardCanceledStatusInfo

Description

Physical Card Canceled Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always Canceled for type PhysicalCardCanceledStatusInfo).
reason - String! Reason why the card is canceled.
Example
{
  "status": "ConsentPending",
  "reason": "xyz789"
}

PhysicalCardCancelingStatusInfo

Description

Physical Card Canceling Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always Canceling for type PhysicalCardCancelingStatusInfo).
reason - String! Reason why the card is canceled.
Example
{
  "status": "ConsentPending",
  "reason": "abc123"
}

PhysicalCardConfigInput

Fields
Input Field Description
deliveryAddress - CompleteAddressInput!

address to deliver the physical card

physicalCardCustomOptions - PhysicalCardCustomOptionsInput

Custom options to use for physical cards.

Example
{
  "deliveryAddress": CompleteAddressInput,
  "physicalCardCustomOptions": PhysicalCardCustomOptionsInput
}

PhysicalCardConsentPendingStatusInfo

Description

when the user has to authorize production of the physical card

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always ConsentPending for type PhysicalCardConsentPendingStatusInfo)
consent - Consent! The consent required to authorize production of the physical card
Example
{"status": "ConsentPending", "consent": Consent}

PhysicalCardCustomOptionsForGroupDeliveryInput

Fields
Input Field Description
additionalPrintedLine - String

Additional line to be embossed on the card.

This field will only be taken into account for custom card design that include it. ( Learn More)

Max length allowed: 26 characters. Characters allowed: alphanumeric’*’ ‘.’ ‘-’ ‘/’ apostrophe

Example
{"additionalPrintedLine": "abc123"}

PhysicalCardCustomOptionsForPrintInput

Fields
Input Field Description
additionalPrintedLine - String

Additional line to be printed on the card.

This field will only be taken into account for custom card design that include it. ( Learn More)

Max length allowed: 26 characters. Characters allowed: alphanumeric’*’ ‘.’ ‘-’ ‘/’ apostrophe

Example
{"additionalPrintedLine": "xyz789"}

PhysicalCardCustomOptionsInput

Fields
Input Field Description
additionalPrintedLine - String

Additional line to be embossed on the card.

This field will only be taken into account for custom card design that include it. ( Learn More)

Max length allowed: 26 characters. Characters allowed: alphanumeric’*’ ‘.’ ‘-’ ‘/’ apostrophe

Example
{"additionalPrintedLine": "abc123"}

PhysicalCardNotFoundRejection

Description

Rejection returned when the Physical Card does not exist

Fields
Field Name Description
message - String!
identifier - String!
Example
{
  "message": "xyz789",
  "identifier": "xyz789"
}

PhysicalCardProcessingStatusInfo

Description

when the physical card is in the process of being ready to use

Fields
Field Name Description
status - PhysicalCardStatus! Physical card status (always Processing for type PhysicalCardProcessingStatusInfo)
Example
{"status": "ConsentPending"}

PhysicalCardRenewedStatusInfo

Description

Physical Card Renewed Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always Renewed for type PhysicalCardRenewedStatusInfo).
address - Address! address to deliver the physical card
estimatedDeliveryDate - DateTime Estimated delivery date
trackingNumber - String Shipping tracking number
shippingProvider - String Name of the shipping provider (Ex: LaPoste, DHL ...)
isPINReady - Boolean! true if PIN Code is available.
Example
{
  "status": "ConsentPending",
  "address": Address,
  "estimatedDeliveryDate": "2007-12-03T10:15:30Z",
  "trackingNumber": "abc123",
  "shippingProvider": "xyz789",
  "isPINReady": false
}

PhysicalCardStatus

Description

Physical Card Status

Values
Enum Value Description

ConsentPending

when the consent to authorize physical card production is pending

Processing

when the physical card is in the process of being ready to use

Activated

when the physical card is activated

Suspended

when the physical card is suspended

Canceled

when the physical card is canceled

Canceling

when the physical card is about to be canceled

ToActivate

when the physical card is not yet activated

Renewed

when the physical card is renewed
Example
"ConsentPending"

PhysicalCardStatusInfo

Example
{"status": "ConsentPending"}

PhysicalCardSuspendedStatusInfo

Description

Physical Card Suspended Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always Suspended for type PhysicalCardSuspendedStatusInfo).
reason - String! Reason why the card is suspended.
Example
{
  "status": "ConsentPending",
  "reason": "abc123"
}

PhysicalCardToActivateStatusInfo

Description

Physical Card To Activate Status Information

Fields
Field Name Description
status - PhysicalCardStatus! Physical Card status (always ToActivate for type PhysicalCardToActivateStatusInfo).
address - Address! address to deliver the physical card
estimatedDeliveryDate - DateTime Estimated delivery date
trackingNumber - String Shipping tracking number
shippingProvider - String Name of the shipping provider (Ex: LaPoste, DHL ...)
isPINReady - Boolean! true if PIN Code is available.
Example
{
  "status": "ConsentPending",
  "address": Address,
  "estimatedDeliveryDate": "2007-12-03T10:15:30Z",
  "trackingNumber": "abc123",
  "shippingProvider": "abc123",
  "isPINReady": false
}

PhysicalCardWrongStatusRejection

Description

Rejection returned when the Physical Card is not the expected status

Fields
Field Name Description
message - String!
identifier - String!
currentStatus - PhysicalCardStatus!
expectedStatus - PhysicalCardStatus!
Example
{
  "message": "xyz789",
  "identifier": "abc123",
  "currentStatus": "ConsentPending",
  "expectedStatus": "ConsentPending"
}

PreferredNotificationChannel

Values
Enum Value Description

Sms

Use Swan SMS

App

Use In-App notification
Example
"Sms"

PrintPhysicalCardInput

Description

Inputs to print a physical card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

address - CompleteAddressInput!

address to deliver the physical card

choosePINCode - Boolean!

true if the user must choose their PIN Code

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

physicalCardCustomOptions - PhysicalCardCustomOptionsForPrintInput

Custom options to use for physical cards.

Example
{
  "cardId": 4,
  "address": CompleteAddressInput,
  "choosePINCode": false,
  "consentRedirectUrl": "xyz789",
  "physicalCardCustomOptions": PhysicalCardCustomOptionsForPrintInput
}

PrintPhysicalCardPayload

PrintPhysicalCardSuccessPayload

Fields
Field Name Description
physicalCard - PhysicalCard! The physicalCard created
Example
{"physicalCard": PhysicalCard}

ProductType

Description

Type of product sold. Gifts and donations can be club subscription or collection of donations (for associations), tips collection, contributions for local authorities

Values
Enum Value Description

Goods

Services

VirtualGoods

GiftsAndDonations

Example
"Goods"

ProjectCardStatus

Description

Card Status

Values
Enum Value Description

Initiated

when project's card settings are Initiated

Enabled

when project's card settings are Enabled

Disabled

when project's card settings are Disabled

ToReview

when project's card settings are ToReview

Suspended

when project's card settings are Suspended

Rejected

when project's card settings are Rejected
Example
"Initiated"

ProjectFundingLimitExceededRejection

Description

Rejection returned when the Project Funding has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ProjectInfo

Description

Public information of a Project

Fields
Field Name Description
cardProducts - [CardProduct!] The card products associated with this project.
activeCardSettings - CardSettings the currently active card settings Use cardProduct.cardDesigns instead
id - ID! Unique identifier of the project
B2BMembershipIDVerification - Boolean
accountOpeningEmailSettings - AccountOpeningEmailSettings!
amlRiskLevel - AmlRiskLevel
supportingDocumentSettings - SupportingDocumentSettings
name - String! Your project name displayed in white label interfaces and in the terms and conditions
type - ProjectType! The type of your project
logoUri - String URL of your logo
accentColor - String Your accent color, used in white label interfaces. Most of the time for call to actions
customConsentSubdomain - String Your custom subdomain used in consents
oAuthClientId - String Your OAuth client id
tcuDocumentUri - String! URL to your Terms and Conditions of Use document depending on the provided language use tcuDocumentUrl from the onboarding query
Arguments
language - String!

this consists of a 2-3 letter base language tag representing the language, optionally followed by additional subtags separated by '-'. The most common extra information is the country or region variant (like 'en-US' or 'fr-CA') or the type of alphabet to use (like 'sr-Latn'). Other variants like the type of orthography ('de-DE-1996') are usually not used in the context of this header. Learn More

tcuDocumentId - String! Unique id of your current Terms and Conditions of Use use tcuDocumentUrl from the onboarding query
webBankingSettings - WebBankingSettings Web banking settings
status - ProjectStatus! Project status
allowsDesktopAuthentication - Boolean! Flag that determines if desktop authentication is enabled for this project
Example
{
  "cardProducts": [CardProduct],
  "activeCardSettings": CardSettings,
  "id": 4,
  "B2BMembershipIDVerification": true,
  "accountOpeningEmailSettings": AccountOpeningEmailSettings,
  "amlRiskLevel": "Low",
  "supportingDocumentSettings": SupportingDocumentSettings,
  "name": "xyz789",
  "type": "INDIVIDUAL",
  "logoUri": "abc123",
  "accentColor": "xyz789",
  "customConsentSubdomain": "xyz789",
  "oAuthClientId": "abc123",
  "tcuDocumentUri": "abc123",
  "tcuDocumentId": "abc123",
  "webBankingSettings": WebBankingSettings,
  "status": "Initiated",
  "allowsDesktopAuthentication": false
}

ProjectInstantFundingLimitExceededRejection

Description

Rejection returned when the Project Instant Funding limit has been exceeded

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

ProjectNotFoundRejection

Description

Rejection returned when the project is not found

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ProjectStatus

Values
Enum Value Description

Initiated

MeetingScheduled

ToReview

replaced by PendingCompliance

PendingCompliance

LimitedLiveAccess

BetaLiveAccess

Enabled

replaced by LimitedLiveAccess

FullLiveAccess

Disabled

Suspended

Rejected

PendingLiveReview

Example
"Initiated"

ProjectType

Values
Enum Value Description

INDIVIDUAL

replaced by Individual

COMPANY

replaced by Company

COMPANY_AND_CUSTOMERS

replaced by CompanyAndCustomers

Individual

Company

CompanyAndCustomers

Example
"INDIVIDUAL"

RadioField

Fields
Field Name Description
key - String!
name - String!
refreshDynamicFieldsOnChange - Boolean!
required - Boolean!
allowedValues - [AllowedValue!]!
Example
{
  "key": "xyz789",
  "name": "xyz789",
  "refreshDynamicFieldsOnChange": false,
  "required": false,
  "allowedValues": [AllowedValue]
}

Reachability

Description

Information that can be used to determine where the iban can be used

Fields
Field Name Description
sepaCreditTransferInst - Boolean! Can be used for instant transfer over SEPA
sepaDirectDebitCore - Boolean! Can be used for direct debit over SEPA
sepaDirectDebitB2b - Boolean! Can be used for B2B direct debit over SEPA
sepaCreditTransfer - Boolean! Can be used for transfer over SEPA (can be used in initiateCreditTransfer mutation)
Example
{
  "sepaCreditTransferInst": true,
  "sepaDirectDebitCore": false,
  "sepaDirectDebitB2b": false,
  "sepaCreditTransfer": true
}

Reason

Description

Define a reason with a message

Fields
Field Name Description
message - String
Possible Types
Reason Types

CloseAccountReason

SuspendAccountReason

Example
{"message": "abc123"}

ReceivedDirectDebitMandate

Description

Interface for Received Direct Debit Mandate

Fields
Field Name Description
id - ID! Unique identifier of the received direct debit mandate, generated by Swan
version - String! Version of the received direct debit mandate
createdAt - DateTime! Creation date of the received direct debit mandate
updatedAt - DateTime! Last Update date of the received direct debit mandate
signatureDate - Date Date of signature of the received direct debit mandate
executedAt - DateTime Date of the last direct debit transaction executed for the concerned received direct debit mandate
expiredAt - Date Expiry date of the received direct debit mandate
statusInfo - ReceivedDirectDebitMandateStatusInfo! Mandate status information of the received direct debit mandate
name - String Mandate name
Possible Types
ReceivedDirectDebitMandate Types

InternalReceivedDirectDebitMandate

SEPAReceivedDirectDebitMandate

Example
{
  "id": 4,
  "version": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "signatureDate": "2007-12-03",
  "executedAt": "2007-12-03T10:15:30Z",
  "expiredAt": "2007-12-03",
  "statusInfo": ReceivedDirectDebitMandateStatusInfo,
  "name": "xyz789"
}

ReceivedDirectDebitMandateAlreadyExistRejection

Description

Rejection returned if the received direct debit mandate already exist

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "abc123"
}

ReceivedDirectDebitMandateCanceledRejection

Description

Received direct debit mandate is canceled and therefore can't be enabled/suspended or updated

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

ReceivedDirectDebitMandateConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of elements in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [ReceivedDirectDebitMandateEdge!]! ReceivedDirectDebitMandateEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [ReceivedDirectDebitMandateEdge]
}

ReceivedDirectDebitMandateEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this onboarding node in the pagination mechanism
node - ReceivedDirectDebitMandate! The received direct debit mandate
Example
{
  "cursor": "xyz789",
  "node": ReceivedDirectDebitMandate
}

ReceivedDirectDebitMandateNotB2bRejection

Description

Rejection returned if the received direct debit mandate is not a B2b mandate

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "abc123",
  "message": "xyz789"
}

ReceivedDirectDebitMandateNotFoundRejection

Description

Error returned if the received direct debit mandate was not found or if the user does not have the rights to receive information abo ut the existence of the received direct debit mandate

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

ReceivedDirectDebitMandateScheme

Description

Received Direct Debit Mandate Scheme

Values
Enum Value Description

SepaDirectDebitB2b

When the received direct debit mandate can only be used for SEPA B2B direct debit transactions

SepaDirectDebitCore

When the received direct debit mandate can only be used for SEPA Core direct debit transactions
Example
"SepaDirectDebitB2b"

ReceivedDirectDebitMandateStatus

Description

Received Direct Debit Mandate Statuses

Values
Enum Value Description

Enabled

When the received direct debit mandate is enabled

Suspended

When the received direct debit mandate is suspended

Canceled

When the received direct debit mandate is canceled

ConsentInitiationPending

When the received direct debit mandate requires the initiation of a consent process

ConsentPending

When the received direct debit mandate is pending consent completion
Example
"Enabled"

ReceivedDirectDebitMandateStatusInfo

Description

Received Direct Debit Mandate status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status
Example
{"status": "Enabled"}

ReceivedDirectDebitMandateStatusInfoCanceled

Description

Received Direct Debit Mandate Canceled status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status (always Canceled for type ReceivedDirectDebitMandateStatusInfoCanceled)
canceledAt - DateTime! Date of cancellation
Example
{
  "status": "Enabled",
  "canceledAt": "2007-12-03T10:15:30Z"
}

ReceivedDirectDebitMandateStatusInfoConsentInitiationPending

Description

Received Direct Debit Mandate ConsentInitiationPending status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status (always ConsentInitiationPending for type ReceivedDirectDebitMandateStatusInfoConsentInitiationPending)
Example
{"status": "Enabled"}

ReceivedDirectDebitMandateStatusInfoConsentPending

Description

Received Direct Debit Mandate ConsentPending status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status (always ConsentInitiationPending for type ReceivedDirectDebitMandateStatusInfoConsentPending)
consent - Consent! The consent required to consent to a received direct debit mandate
Example
{"status": "Enabled", "consent": Consent}

ReceivedDirectDebitMandateStatusInfoEnabled

Description

Received Direct Debit Mandate Enabled status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status (always Enabled for type ReceivedDirectDebitMandateStatusInfoEnabled)
enabledAt - DateTime! Date at which the received direct debit mandate has been moved to the enabled status
Example
{
  "status": "Enabled",
  "enabledAt": "2007-12-03T10:15:30Z"
}

ReceivedDirectDebitMandateStatusInfoSuspended

Description

Received Direct Debit Mandate Suspended status information

Fields
Field Name Description
status - ReceivedDirectDebitMandateStatus! Received Direct Debit Mandate status (always Suspended for type ReceivedDirectDebitMandateStatusInfoSuspended)
suspendedAt - DateTime! Date of the last time the received direct debit mandate has been moved to the suspended status
Example
{
  "status": "Enabled",
  "suspendedAt": "2007-12-03T10:15:30Z"
}

RefundInput

Description

Input to select the beneficiary and the originator to perform a refund

Fields
Input Field Description
refundTransactions - [RefundTransaction!]!

transactions to refund

consentRedirectUrl - String!

url the user is redirected to after consent has been given

Example
{
  "refundTransactions": [RefundTransaction],
  "consentRedirectUrl": "xyz789"
}

RefundPayload

Description

The respond body to a refund mutation

Example
RefundSuccessPayload

RefundRejection

Description

Rejection returned if the transaction status is not correct for the desired action

Fields
Field Name Description
message - String!
code - RefundRejectionCode!
Example
{
  "message": "xyz789",
  "code": "TransactionNotFound"
}

RefundRejectionCode

Description

Reason code that explains why we can't refund the transactions

Values
Enum Value Description

TransactionNotFound

The transaction couldn't be found or the user doesn't have the 'canInitiatePayment' rights on the account

TransactionNonRefundable

The transaction status is not Booked

ServerError

Error server
Example
"TransactionNotFound"

RefundSuccessPayload

Description

Consent generated by the refund mutation

Fields
Field Name Description
consent - Consent optional consent that need to be validated for the refund to go through
Example
{"consent": Consent}

RefundTransaction

Description

Information about the transaction to refund

Fields
Input Field Description
originTransactionId - String!

id of the transaction to refund

amount - AmountInput!

amount to refund in the same currency as the account

reference - String

reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain for credit transfers. (regex [A-Za-z0-9(\-)(\_)(\?)(\.)(\+),' ]{1,35})

label - String

label for the refund transaction (max 140 characters)

executionDate - DateTime

only used when the transaction was a credit transfer

date when the credit transfer will be executed, if null the credit transfer is executed today

Example
{
  "originTransactionId": "xyz789",
  "amount": AmountInput,
  "reference": "abc123",
  "label": "abc123",
  "executionDate": "2007-12-03T10:15:30Z"
}

RejectedFundingSourceReason

Description

Funding Source Rejected Reason

Values
Enum Value Description

AccountVerificationRejected

Example
"AccountVerificationRejected"

RejectedFundingSourceStatusInfo

Description

Funding Source Rejected status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Rejected status
rejectedAt - Date! Date at which the funding source was rejected
reasonCode - RejectedFundingSourceReason! Reason code of the rejection
Example
{
  "status": "Pending",
  "rejectedAt": "2007-12-03",
  "reasonCode": "AccountVerificationRejected"
}

RejectedMerchantPaymentMethodStatusInfo

Description

RejectedMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
rejectedAt - Date! Merchant Payment Method rejected date
Example
{
  "status": "PendingReview",
  "rejectedAt": "2007-12-03"
}

RejectedMerchantProfileStatusInfo

Description

RejectedMerchantProfileStatusInfo

Fields
Field Name Description
status - MerchantProfileStatus!
rejectedAt - Date!
Example
{
  "status": "PendingReview",
  "rejectedAt": "2007-12-03"
}

RejectedReasonCode

Description

The following reason code for a rejected transaction are defined:

Values
Enum Value Description

AccountClosed

Rejected because the account is closed

AccountHolderDeceased

Rejected because the account holder is deceased

AccountMembershipRefused

Rejected by the account membership

AccountSuspended

Rejected because the account is suspended

AccountUnknown

Rejected because the account is unknown

BankRefused

Rejected by the bank

BeneficiaryBankNotReachable

Rejected because the creditor bank is not reachable

CardExpired

Rejected because the card is expired

CardPermanentlyBlocked

Rejected because the card has been permanently blocked

CardSuspended

Rejected because the card is suspended

CreditorBankOffline

Rejected because the creditor bank is offline

CreditorBankTechnicalErrorOccurred

Rejected following an error from the creditor bank

CreditorBankTimeout

Rejected following a timeout from the creditor bank

DebtorAccountClosed

Rejected because the debtor account is closed

DebtorAccountConsumer

Rejected because the debtor is a non business account and the transaction is a B2B SEPA Direct Debit transaction

DebtorAccountUnknown

Rejected because the debtor account is unknown

DebtorBankOffline

Rejected because the debtor bank is offline

DebtorBankTechnicalErrorOccurred

Rejected following an error from the debtor bank

DebtorBankTimeout

Rejected following a timeout from the debtor bank

DebtorDeceased

Rejected because the debtor account holder is dead

FraudSuspected

Rejected because of a fraud suspicion

IbanInvalid

Rejected because the beneficiary IBAN is invalid

IbanSuspended

Rejected because the beneficiary IBAN is suspended

InsufficientFunds

Rejected because of insufficient funds on the account

InvalidTransferDate

Rejected because of invalid transfer date

MandateInvalid

Rejected by debtor because the mandate is invalid

NoMandate

Rejected because the mandate has been revoked or does not exist

PartnerRefused

Rejected by the partner (you)

PartnerTechnicalErrorOccurred

Rejected following an error or a timeout from the partner

PeriodAmountLimitExceeded

Rejected because the maximum amount allowed on the given period has been exceeded

PeriodNbTransactionLimitExceeded

Rejected because the maximum number of transactions on the given period has been exceeded

ReasonNotSpecifiedByBank

Rejected by bank with no specified reason

ReasonNotSpecifiedByDebtor

Rejected by debtor with no specified reason

RegulatoryReason

Rejected by bank for regulatory reason

SwanOffline

Rejected because the debtor or the creditor bank is offline

SwanRefused

Rejected by Swan

SwanTechnicalErrorOccurred

Rejected because of a Swan technical error

SwanTimeout

Rejected because of a Swan timeout

TermsAndConditionsLimitExceeded

Rejected because the terms and conditions limit has been exceeded

TransactionAmountLimitExceeded

Rejected because the maximum amount for a transaction has been exceeded

TransactionDuplicated

Rejected by bank because this transaction is duplicated

TransactionOnAccountTypeNotAllowed

Rejected because the transaction is forbidden on this type of account

TransactionTypeNotAllowed

Rejected because the type of transaction is forbidden on the account

CardNotActivated

Rejected because the card is not activated yet

InvalidPin

Rejected because the PIN is invalid

InvalidPinAttemptsExceeded

Rejected because there were too many invalid tries on the PIN validation

MerchantShouldResubmitAuthorization

Rejected because the merchant must request a new transaction with authorisation

InvalidExpirationDate

Rejected because the expiration date entered does not match the one on the card

InvalidSecurityNumber

Rejected because the security number entered does not match the one on the card

PinRequiredForFurtherTransaction

Rejected because a transaction with PIN code is required to continue to using the card

RetryWithChipAndPin

Rejected because the Swipe method is not supported, a retry using the Chip and PIN method is necessary
Example
"AccountClosed"

RejectedTransactionStatusInfo

Description

Rejected transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
reason - RejectedReasonCode! reason code
hasFallback - Boolean! true if the transaction had a fallback
Example
{"status": "Booked", "reason": "AccountClosed", "hasFallback": true}

RejectedVerificationReason

Description

Rejected Verification Reason

Values
Enum Value Description

HolderDidNotMatch

Example
"HolderDidNotMatch"

RejectedVerificationStatusInfo

Description

Rejected Information

Fields
Field Name Description
reason - RejectedVerificationReason! Rejected Reason
rejectedAt - DateTime! Date at which the verification was rejected
status - AccountVerificationStatus! Account verification status (Rejected)
Example
{
  "reason": "HolderDidNotMatch",
  "rejectedAt": "2007-12-03T10:15:30Z",
  "status": "PendingVerification"
}

Rejection

Fields
Field Name Description
message - String!
Possible Types
Rejection Types

AccountHolderNotFoundRejection

AccountHolderTypeIndividualRejection

AccountMembershipCannotBeDisabledRejection

AccountMembershipCannotBeUpdatedRejection

AccountMembershipNotAllowedRejection

AccountMembershipNotFoundRejection

AccountMembershipNotReadyToBeBoundRejection

AccountNotFoundRejection

AccountVerificationAlreadyRejectedRejection

AccountVerificationWrongStatusRejection

AddingCardsToDifferentAccountsRejection

AlreadyValidPhysicalCardRejection

ApplePayNotAllowedForProjectRejection

BadAccountStatusRejection

BadRequestRejection

CannotActivatePhysicalCardRejection

CapitalDepositDocumentCanNotBeUploaded

CardCanNotBeDigitalizedRejection

CardNotFoundRejection

CardProductDisabledRejection

CardProductNotApplicableToPhysicalCardsRejection

CardProductSuspendedRejection

ConsentNotFoundRejection

ConsentsAlreadyLinkedToMultiConsentRejection

ConsentsNotAllInCreatedStatusRejection

ConsentsNotFoundRejection

ConsentTypeNotSupportedByServerConsentRejection

DebtorAccountClosedRejection

DebtorAccountNotAllowedRejection

DigitalCardNotFoundRejection

EnabledCardDesignNotFoundRejection

ExternalAccountAlreadyExistsRejection

ExternalAccountBalanceAlreadyExistsRejection

ForbiddenRejection

FundingLimitExceededRejection

FundingLimitSettingsChangeRequestBadAmountRejection

FundingSourceNotFoundRejection

FundingSourceWrongStatusRejection

GlobalFundingLimitExceededRejection

GlobalInstantFundingLimitExceededRejection

IBANNotReachableRejection

IbanValidationRejection

IdentityAlreadyBindToAccountMembershipRejection

InstantFundingLimitExceededRejection

InsufficientFundsRejection

InternalErrorRejection

InvalidArgumentRejection

InvalidPhoneNumberRejection

LegalRepresentativeAccountMembershipCannotBeDisabledRejection

LegalRepresentativeAccountMembershipCannotBeSuspendedRejection

MissingMandatoryFieldRejection

NotFoundRejection

NotReachableConsentStatusRejection

OnboardingNotCompletedRejection

PaymentMandateMandateNotFoundRejection

PaymentMandateReferenceAlreadyUsedRejection

PaymentMethodNotCompatibleRejection

PermissionCannotBeGrantedRejection

PhysicalCardNotFoundRejection

PhysicalCardWrongStatusRejection

PINNotReadyRejection

ProjectFundingLimitExceededRejection

ProjectInstantFundingLimitExceededRejection

ProjectNotFoundRejection

ReceivedDirectDebitMandateAlreadyExistRejection

ReceivedDirectDebitMandateCanceledRejection

ReceivedDirectDebitMandateNotB2bRejection

ReceivedDirectDebitMandateNotFoundRejection

RefundRejection

RestrictedToUserRejection

SchemeWrongRejection

ServerConsentCredentialsNotValidOrOutdatedRejection

ServerConsentNotAllowedForConsentOperationRejection

ServerConsentNotAllowedForProjectRejection

ServerConsentProjectCredentialMissingRejection

ServerConsentProjectCredentialNotFoundRejection

ServerConsentProjectSettingsNotFoundRejection

ServerConsentSignatureNotValidRejection

StandingOrderNotFoundRejection

SupportingDocumentCollectionNotFoundRejection

SupportingDocumentCollectionStatusDoesNotAllowDeletionRejection

SupportingDocumentCollectionStatusDoesNotAllowUpdateRejection

SupportingDocumentCollectionStatusNotAllowedRejection

SupportingDocumentNotFoundRejection

SupportingDocumentStatusDoesNotAllowDeletionRejection

SupportingDocumentStatusDoesNotAllowUpdateRejection

SupportingDocumentUploadNotAllowedRejection

SuspendReceivedDirectDebitMandatedRejection

TooManyChildConsentsRejection

TooManyItemsRejection

UpdateUserConsentSettingsTokenRejection

UserNotAllowedToDisableItsOwnAccountMembershipRejection

UserNotAllowedToManageAccountMembershipRejection

UserNotAllowedToSuspendItsOwnAccountMembershipRejection

UserNotCardHolderRejection

ValidationRejection

Example
{"message": "xyz789"}

ReleasedReason

Values
Enum Value Description

Captured

Authorization fully captured by one or more debits

Expired

Authorization expired

AdviceReceived

Authorization has been superseded by an advice

MerchantReleased

Authorization released by the merchant

ManuallyReleased

Authorization manually released by Swan

Other

Authorization released for other/undefined reasons
Example
"Captured"

ReleasedTransactionStatusInfo

Description

Released card transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
releaseDate - DateTime! The date when the transaction was released
reason - ReleasedReason! reason of the released transaction
Example
{
  "status": "Booked",
  "releaseDate": "2007-12-03T10:15:30Z",
  "reason": "Captured"
}

ReportExchangeRate

Description

here is the exchange rate detail

Fields
Field Name Description
sourceCurrency - Currency!
exchangeRate - Float!
unitCurrency - Currency!
targetCurrency - Currency!
quotationDate - Date!
contractIdentification - String
Example
{
  "sourceCurrency": "USD",
  "exchangeRate": 123.45,
  "unitCurrency": "USD",
  "targetCurrency": "USD",
  "quotationDate": "2007-12-03",
  "contractIdentification": "xyz789"
}

RequestMerchantPaymentMethodsInput

Fields
Input Field Description
merchantProfileId - ID!

ID of the Merchant Profile

internalDirectDebitStandard - InternalDirectDebitStandardPaymentMethodInput

Input for the Internal Direct Debit Standard payment method

internalDirectDebitB2B - InternalDirectDebitB2BPaymentMethodInput

Input for the Internal Direct Debit B2B payment method

sepaDirectDebitCore - SepaDirectDebitCorePaymentMethodInput

Input for the Sepa Direct Debit Core payment method

sepaDirectDebitB2B - SepaDirectDebitB2BPaymentMethodInput

Input for the Sepa Direct Debit B2B payment method

check - CheckPaymentMethodInput

Input for Check payment method

Example
{
  "merchantProfileId": "4",
  "internalDirectDebitStandard": InternalDirectDebitStandardPaymentMethodInput,
  "internalDirectDebitB2B": InternalDirectDebitB2BPaymentMethodInput,
  "sepaDirectDebitCore": SepaDirectDebitCorePaymentMethodInput,
  "sepaDirectDebitB2B": SepaDirectDebitB2BPaymentMethodInput,
  "check": CheckPaymentMethodInput
}

RequestMerchantPaymentMethodsPayload

RequestMerchantPaymentMethodsSuccessPayload

Fields
Field Name Description
merchantProfile - MerchantProfile
Example
{"merchantProfile": MerchantProfile}

RequestMerchantProfileUpdate

Description

Request Update Merchant Profile

Fields
Field Name Description
id - ID! The Request ID
merchantProfileId - ID! The Merchant Profile ID to update
merchantName - String! Business name of the merchant, i.e. name that will be displayed on debtors' bank statements
merchantWebsite - String Url of the merchant's website
merchantLogoUrl - String Url of the merchant's logo
status - RequestMerchantProfileUpdateStatus! The status of the request
productType - ProductType! Type of product sold. List of value: Goods, Services, VirtualGoods, GiftsAndDonations. Gifts and donations can be club subscription or collection of donations (for associations), tips collection, contributions for local authorities
expectedMonthlyPaymentVolume - Amount! Expected annual activity volumes for all payment method
expectedAverageBasket - Amount! expected average basket value.
createdAt - DateTime! created date
updatedAt - DateTime! updated date
Example
{
  "id": "4",
  "merchantProfileId": 4,
  "merchantName": "xyz789",
  "merchantWebsite": "abc123",
  "merchantLogoUrl": "xyz789",
  "status": "PendingReview",
  "productType": "Goods",
  "expectedMonthlyPaymentVolume": Amount,
  "expectedAverageBasket": Amount,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

RequestMerchantProfileUpdateInput

Description

Input to update a Merchant Profile

Fields
Input Field Description
merchantProfileId - ID!

ID of the MerchantProfile to update

merchantName - String!

Business name of the merchant, i.e. name that will be displayed on debtors' bank statements

merchantWebsite - String

Url of the merchant's website

productType - ProductType!

Type of product sold. Gifts and donations can be club subscription or collection of donations (for associations), tips collection, contributions for local authorities

expectedMonthlyPaymentVolume - AmountInput!

Expected annual activity volumes for all payment methods.

expectedAverageBasket - AmountInput!

expected average basket value.

merchantLogo - String

base64 encoded merchant's logo

Example
{
  "merchantProfileId": "4",
  "merchantName": "xyz789",
  "merchantWebsite": "xyz789",
  "productType": "Goods",
  "expectedMonthlyPaymentVolume": AmountInput,
  "expectedAverageBasket": AmountInput,
  "merchantLogo": "xyz789"
}

RequestMerchantProfileUpdatePayload

Example
RequestMerchantProfileUpdateSuccessPayload

RequestMerchantProfileUpdateStatus

Description

Request Merchant Profile Update Statuses

Values
Enum Value Description

PendingReview

A Request is created in the PendingReview status

Enabled

A Request that has already been approved

Rejected

A Request that has already been rejected
Example
"PendingReview"

RequestMerchantProfileUpdateSuccessPayload

Description

Add Merchant Profile Success Payload

Fields
Field Name Description
requestMerchantProfileUpdate - RequestMerchantProfileUpdate! Request Update Merchant Profile
Example
{
  "requestMerchantProfileUpdate": RequestMerchantProfileUpdate
}

RequestSupportingDocumentCollectionReviewInput

Fields
Input Field Description
supportingDocumentCollectionId - ID!

Id of the supporting document collection to review.

Example
{"supportingDocumentCollectionId": "4"}

RequestSupportingDocumentCollectionReviewPayload

RequestSupportingDocumentCollectionReviewSuccessPayload

Fields
Field Name Description
supportingDocumentCollection - SupportingDocumentCollection!
Example
{
  "supportingDocumentCollection": SupportingDocumentCollection
}

ResidencyAddressInput

Fields
Input Field Description
addressLine1 - String

Address line 1. Length must be from 0 to 255 characters

addressLine2 - String

AddressLine2. Length must be from 0 to 255 characters

city - String

City. Length must be from 0 to 100 characters

postalCode - String

Postal code. Length must be from 0 to 50 characters

state - String

State of residency. Length must be from 0 to 100 characters

country - CCA3

Country

Example
{
  "addressLine1": "xyz789",
  "addressLine2": "abc123",
  "city": "abc123",
  "postalCode": "abc123",
  "state": "abc123",
  "country": CCA3
}

RestrictedTo

Description

Account membership restricted to

Fields
Field Name Description
firstName - String! first name
lastName - String! last name
birthDate - Date birth date
phoneNumber - String! phone number
Example
{
  "firstName": "abc123",
  "lastName": "xyz789",
  "birthDate": "2007-12-03",
  "phoneNumber": "abc123"
}

RestrictedToInput

Description

Input when the account membership is restricted to a verified user

Fields
Input Field Description
firstName - String!

Account member first name

lastName - String!

Account member last name

birthDate - Date

Account member birth date

phoneNumber - PhoneNumber!

Account member phone number

Example
{
  "firstName": "xyz789",
  "lastName": "xyz789",
  "birthDate": "2007-12-03",
  "phoneNumber": "+17895551234"
}

RestrictedToUserRejection

Description

Rejection returned if the mutation cannot be executed in another context than user

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ResumeAccountMembershipInput

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership to resume

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "accountMembershipId": 4,
  "consentRedirectUrl": "abc123"
}

ResumeAccountMembershipPayload

ResumeAccountMembershipSuccessPayload

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

ResumePhysicalCardInput

Description

Inputs to resume a physical card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "cardId": 4,
  "consentRedirectUrl": "xyz789"
}

ResumePhysicalCardPayload

ResumePhysicalCardSuccessPayload

Fields
Field Name Description
physicalCard - PhysicalCard! The physicalCard to resume
consent - Consent! The consent required to resume a physical card
Example
{
  "physicalCard": PhysicalCard,
  "consent": Consent
}

RollingReserve

Description

Percentage over a number of business days, that is applied to all funds collected to compute a Reserved amount This amount cannot be used over the corresponding business days

Fields
Field Name Description
percentage - Int! Percentage of the funding amount to be reserved
rollingDays - Int! Number of business days the computed amount is reserved
Example
{"percentage": 987, "rollingDays": 987}

SEPABeneficiary

Description

SOON TO BE DEPRECATED External Beneficiary type SEPA

Fields
Field Name Description
id - ID unique identifier of a beneficiary
name - String! full name of the beneficiary
isMyOwnIban - Boolean! true if this new beneficiary is the account holder himself in an other financial institution.
address - Address beneficiary address
maskedIBAN - String maskedIBAN if the beneficiary is a an account in an other financial institution
Example
{
  "id": 4,
  "name": "abc123",
  "isMyOwnIban": true,
  "address": Address,
  "maskedIBAN": "abc123"
}

SEPACreditTransferCreditor

Description

Sepa Credit Transfer Creditor

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
Example
{
  "name": "abc123",
  "maskedIBAN": "abc123",
  "IBAN": "abc123",
  "BIC": "xyz789"
}

SEPACreditTransferDebtor

Description

Sepa Credit Transfer Debtor

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
Example
{
  "name": "abc123",
  "maskedIBAN": "abc123",
  "IBAN": "abc123",
  "BIC": "xyz789"
}

SEPACreditTransferInCreditor

Description

Sepa Credit Transfer Creditor for Incoming transaction

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number because it is not already implemented (a default value is set).
Example
{
  "name": "xyz789",
  "maskedIBAN": "xyz789",
  "IBAN": "xyz789",
  "BIC": "xyz789",
  "virtualIBANEntryId": "4",
  "accountNumber": "000000012345"
}

SEPACreditTransferInDebtor

Description

Sepa Credit Transfer Debtor for Incoming transaction

Fields
Field Name Description
name - String! full name of the debtor (max 70 characters)
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
Example
{
  "name": "abc123",
  "maskedIBAN": "abc123",
  "IBAN": "abc123",
  "BIC": "abc123",
  "virtualIBANEntryId": 4
}

SEPACreditTransferInternalInDebtor

Description

SOON TO BE DEPRECATED Sepa Credit Transfer Debtor for Incoming transaction

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number because it is not already implemented (a default value is set).
Example
{
  "name": "xyz789",
  "maskedIBAN": "abc123",
  "IBAN": "xyz789",
  "BIC": "abc123",
  "virtualIBANEntryId": "4",
  "accountNumber": "000000012345"
}

SEPACreditTransferInternalOutCreditor

Description

SOON TO BE DEPRECATED Sepa Credit Transfer Creditor for internal transaction

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number
beneficiary - InternalBeneficiary beneficiary if the beneficiary is already saved because it is not already implemented.
Example
{
  "name": "abc123",
  "maskedIBAN": "xyz789",
  "IBAN": "abc123",
  "BIC": "xyz789",
  "virtualIBANEntryId": "4",
  "accountNumber": "000000012345",
  "beneficiary": InternalBeneficiary
}

SEPACreditTransferOutCreditor

Description

Sepa Credit Transfer Creditor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
beneficiary - SEPABeneficiary beneficiary if the beneficiary is already saved because it is not already implemented.
Example
{
  "name": "xyz789",
  "maskedIBAN": "xyz789",
  "IBAN": "xyz789",
  "BIC": "xyz789",
  "beneficiary": SEPABeneficiary
}

SEPACreditTransferOutDebtor

Description

Sepa Credit Transfer Debtor for internal transaction

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number because it is not already implemented (a default value is set).
Example
{
  "name": "xyz789",
  "maskedIBAN": "xyz789",
  "IBAN": "xyz789",
  "BIC": "xyz789",
  "virtualIBANEntryId": 4,
  "accountNumber": "000000012345"
}

SEPACreditTransferTransaction

Description

Sepa Credit Transfer transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
creditor - SEPACreditTransferCreditor! creditor information
debtor - SEPACreditTransferDebtor! debtor information
account - Account matching account for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
Example
{
  "id": "4",
  "reference": "abc123",
  "paymentMethodIdentifier": "abc123",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "abc123",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "xyz789",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "xyz789",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "creditor": SEPACreditTransferCreditor,
  "debtor": SEPACreditTransferDebtor,
  "account": Account,
  "externalReference": "xyz789",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "xyz789",
  "originTransaction": Transaction
}

SEPADirectDebitCreditor

Description

Sepa Direct Debit Creditor

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
Possible Types
SEPADirectDebitCreditor Types

SEPADirectDebitInCreditor

SEPADirectDebitOutCreditor

Example
{
  "name": "abc123",
  "maskedIBAN": "abc123",
  "IBAN": "xyz789",
  "BIC": "xyz789"
}

SEPADirectDebitDebtor

Description

Sepa Direct Debit Debtor

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
Possible Types
SEPADirectDebitDebtor Types

SEPADirectDebitInDebtor

SEPADirectDebitOutDebtor

Example
{
  "name": "xyz789",
  "maskedIBAN": "xyz789",
  "IBAN": "abc123",
  "BIC": "xyz789"
}

SEPADirectDebitInCreditor

Description

Sepa Direct Debit Creditor for Input transaction

Fields
Field Name Description
name - String! full name of the creditor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number
Example
{
  "name": "xyz789",
  "maskedIBAN": "abc123",
  "IBAN": "abc123",
  "BIC": "xyz789",
  "virtualIBANEntryId": "4",
  "accountNumber": "000000012345"
}

SEPADirectDebitInDebtor

Description

Sepa Direct Debtor for Input transaction

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
beneficiary - SEPABeneficiary beneficiary if the beneficiary is already saved
Example
{
  "name": "xyz789",
  "maskedIBAN": "abc123",
  "IBAN": "xyz789",
  "BIC": "xyz789",
  "virtualIBANEntryId": "4",
  "beneficiary": SEPABeneficiary
}

SEPADirectDebitMandate

Fields
Field Name Description
id - ID! Unique identifier of the received direct debit mandate, generated by Swan
Possible Types
SEPADirectDebitMandate Types

SEPAPaymentDirectDebitMandate

SEPAReceivedDirectDebitMandate

Example
{"id": "4"}

SEPADirectDebitOutCreditor

Description

Sepa Direct Debit Creditor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the creditor (max 70 characters)
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
beneficiary - SEPABeneficiary beneficiary if the beneficiary is already saved because it is not already implemented (a default value is set).
virtualIBANEntryId - ID identifier of a Virtual IBAN
Example
{
  "name": "abc123",
  "maskedIBAN": "xyz789",
  "IBAN": "xyz789",
  "BIC": "abc123",
  "beneficiary": SEPABeneficiary,
  "virtualIBANEntryId": 4
}

SEPADirectDebitOutDebtor

Description

Sepa Direct Debtor for Outgoing transaction

Fields
Field Name Description
name - String! full name of the debtor
maskedIBAN - String! maskedIBAN
IBAN - String IBAN
BIC - String BIC
virtualIBANEntryId - ID identifier of a Virtual IBAN
accountNumber - AccountNumber! account number because it is not already implemented (a default value is set).
Example
{
  "name": "abc123",
  "maskedIBAN": "abc123",
  "IBAN": "xyz789",
  "BIC": "xyz789",
  "virtualIBANEntryId": "4",
  "accountNumber": "000000012345"
}

SEPADirectDebitScheme

Description

Scheme that will be used to create the underlying payment mandate for this funding source

Values
Enum Value Description

SepaDirectDebitCore

Sepa Direct Debit Core Scheme

SepaDirectDebitB2b

Sepa Direct Debit B2B Scheme
Example
"SepaDirectDebitCore"

SEPADirectDebitTransaction

Description

Sepa Direct Debit transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain.
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
creditor - SEPADirectDebitCreditor! creditor information
debtor - SEPADirectDebitDebtor! debtor information
account - Account matching account for the transaction
mandate - SEPADirectDebitMandate matching SEPA mandate for the transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
reservedAmount - Amount reserved amount of the transaction computed with the rolling reserve.
reservedAmountReleasedAt - DateTime date on which reserved funds become available.
Example
{
  "id": 4,
  "reference": "abc123",
  "paymentMethodIdentifier": "xyz789",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "xyz789",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "xyz789",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "creditor": SEPADirectDebitCreditor,
  "debtor": SEPADirectDebitDebtor,
  "account": Account,
  "mandate": SEPADirectDebitMandate,
  "externalReference": "xyz789",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "abc123",
  "originTransaction": Transaction,
  "reservedAmount": Amount,
  "reservedAmountReleasedAt": "2007-12-03T10:15:30Z"
}

SEPAPaymentDirectDebitMandate

Description

Payment direct debit mandate for SEPA

Fields
Field Name Description
id - ID! Unique identifier of the SEPA Direct Debit Payment Mandate
transactions - TransactionConnection List of transactions associated with the SEPA Payment Direct Debit Mandate.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

reference - String! Unique reference of the SEPA Direct Debit Payment Mandate
scheme - SEPAPaymentMandateScheme! SEPA Direct Debit Payment Mandate scheme
statusInfo - PaymentMandateStatusInfo! SEPA Direct Debit Payment Mandate status information
sequence - SEPAPaymentMandateSequence! SEPA Direct Debit Payment Mandate sequence
mandateDocumentUrl - String! SEPA Direct Debit Payment Mandate PDF document URL
debtor - SEPAPaymentMandateDebtor! SEPA Direct Debit Payment Mandate debtor information
ultimateCreditorName - String SEPA direct debit ultimate creditor name
creditor - SEPAPaymentMandateCreditor! SEPA Direct Debit Payment Mandate creditor information
signatureDate - Date Signature date of the SEPA Direct Debit Payment Mandate
createdAt - DateTime! Creation date of the SEPA Direct Debit Payment Mandate
updatedAt - DateTime! Last Update date of the SEPA Direct Debit Payment Mandate
executedAt - DateTime Date of the the last transaction executed for the concerned SEPA Direct Debit Payment Mandate
expiredAt - Date Expiry date of the SEPA Direct Debit Payment Mandate
accountHolder - AccountHolder! Account Holder information
Example
{
  "id": "4",
  "transactions": TransactionConnection,
  "reference": "xyz789",
  "scheme": "SepaDirectDebitCore",
  "statusInfo": PaymentMandateStatusInfo,
  "sequence": "Recurrent",
  "mandateDocumentUrl": "abc123",
  "debtor": SEPAPaymentMandateDebtor,
  "ultimateCreditorName": "abc123",
  "creditor": SEPAPaymentMandateCreditor,
  "signatureDate": "2007-12-03",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "executedAt": "2007-12-03T10:15:30Z",
  "expiredAt": "2007-12-03",
  "accountHolder": AccountHolder
}

SEPAPaymentMandateCreditor

Fields
Field Name Description
id - ID! SEPA Direct Debit Payment Mandate creditor UUID
identifier - SepaCreditorIdentifier! SEPA Direct Debit Payment Mandate Sepa Creditor Idenfier (SCI)
name - String! SEPA Direct Debit Payment Mandate creditor name
address - Address! SEPA Direct Debit Payment Mandate creditor address
Example
{
  "id": 4,
  "identifier": SepaCreditorIdentifier,
  "name": "abc123",
  "address": Address
}

SEPAPaymentMandateDebtor

Fields
Field Name Description
name - String! SEPA Direct Debit Payment Mandate debtor name
iban - IBAN! SEPA Direct Debit Payment Mandate debtor IBAN
email - String SEPA Direct Debit Payment Mandate debtor e-mail
country - CCA3! SEPA Direct Debit Payment Mandate debtor country
address - Address SEPA Direct Debit Payment Mandate debtor address. Mandatory for non EEA Countries
Example
{
  "name": "xyz789",
  "iban": "NL55INGB4789170233",
  "email": "xyz789",
  "country": CCA3,
  "address": Address
}

SEPAPaymentMandateScheme

Values
Enum Value Description

SepaDirectDebitCore

SEPA Direct Debit Core

SepaDirectDebitB2b

SEPA Direct Debit B2B
Example
"SepaDirectDebitCore"

SEPAPaymentMandateSequence

Description

SEPA Direct Debit Payment Mandate Sequence

Values
Enum Value Description

Recurrent

The SEPA Direct Debit Payment Mandate can be used for recurrent collections

OneOff

The SEPA Direct Debit Payment Mandate can be used only once
Example
"Recurrent"

SEPAReceivedDirectDebitMandate

Description

Received direct debit mandate for SEPA

Fields
Field Name Description
id - ID! Unique identifier of the received SEPA direct debit mandate, generated by Swan
transactions - TransactionConnection List of transactions associated with the SEPA Receive Direct Debit Mandate.
Arguments
first - Int!

number of elements in the list (default value 50)

after - String

When the list of elements needs to start after a element

filters - TransactionsFiltersInput

When the list of elements needs to be filtered

version - String! Version of the received SEPA direct debit mandate
createdAt - DateTime! Creation date of the received SEPA direct debit mandate
updatedAt - DateTime! Last Update date of the received SEPA direct debit mandate
reference - String! Received SEPA direct debit Unique Mandate Reference (UMR)
scheme - SEPAReceivedDirectDebitMandateScheme! Received SEPA direct debit mandate scheme
sequence - SEPAReceivedDirectDebitMandateSequence! Received SEPA direct debit mandate sequence
creditor - SEPAReceivedDirectDebitMandateCreditor! Received SEPA direct debit creditor
ultimateCreditorName - String Received SEPA direct debit ultimate creditor name
executedAt - DateTime Date of the last SEPA direct debit transaction executed for the concerned received SEPA direct debit mandate
signatureDate - Date Date of signature of the received SEPA direct debit mandate
expiredAt - Date Expiry date of the received SEPA direct debit mandate, computed automatically (36 months from the executedAt date)
statusInfo - ReceivedDirectDebitMandateStatusInfo! Mandate status information of the received SEPA direct debit mandate
account - Account Account of the received SEPA direct debit mandate debtor
iban - IBAN! Iban of the received SEPA direct debit mandate debtor
name - String Mandate name
Example
{
  "id": "4",
  "transactions": TransactionConnection,
  "version": "xyz789",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "reference": "xyz789",
  "scheme": "SepaDirectDebitB2b",
  "sequence": "OneOff",
  "creditor": SEPAReceivedDirectDebitMandateCreditor,
  "ultimateCreditorName": "abc123",
  "executedAt": "2007-12-03T10:15:30Z",
  "signatureDate": "2007-12-03",
  "expiredAt": "2007-12-03",
  "statusInfo": ReceivedDirectDebitMandateStatusInfo,
  "account": Account,
  "iban": "NL55INGB4789170233",
  "name": "abc123"
}

SEPAReceivedDirectDebitMandateCreditor

Description

SEPA received direct debit mandate creditor

Fields
Field Name Description
identifier - String! SEPA Creditor identifier (SCI)
name - String! Name of the SEPA creditor
address - Address! Address of the SEPA creditor
Example
{
  "identifier": "xyz789",
  "name": "xyz789",
  "address": Address
}

SEPAReceivedDirectDebitMandateScheme

Description

Received SEPA direct debit mandate scheme

Values
Enum Value Description

SepaDirectDebitB2b

When the received SEPA direct debit mandate can only be used for SEPA B2B direct debit transactions

SepaDirectDebitCore

When the received SEPA direct debit mandate can only be used for SEPA Core direct debit transactions
Example
"SepaDirectDebitB2b"

SEPAReceivedDirectDebitMandateSequence

Description

SEPA received direct debit mandate sequence

Values
Enum Value Description

OneOff

When the authorisation is given once by the SEPA Debtor to collect only one single SEPA direct debit

Recurrent

When the authorisation by the Debtor can be used for regular SEPA direct debits initiated by the Creditor
Example
"OneOff"

ScheduleStandingOrderInput

Fields
Input Field Description
amount - AmountInput

Fix Amount that will be periodically transferred the value must be empty when targetAvailableBalance is defined

targetAvailableBalance - AmountInput

Target available balance that will be used for periodically clipping the account the value must be empty when amount is defined

period - StandingOrderPeriod!

Scheduled period of Standing Order

firstExecutionDate - DateTime

Earlier date the Standing Order will be executed

lastExecutionDate - DateTime

Latest date the Standing Order will be executed

sepaBeneficiary - SepaBeneficiaryInput

SEPA beneficiary of the Standing ORder

accountId - String!

Account the Standing Order will be attached to

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

reference - String

reference assigned by the initiating party, to unambiguously identify the transaction. This reference is passed on, unchanged, throughout the entire end-to-end chain. (regex [A-Za-z0-9(\-)(\_)(\?)(\.)(\+),' ]{1,35})

label - String

label (max 140 characters)

Example
{
  "amount": AmountInput,
  "targetAvailableBalance": AmountInput,
  "period": "Daily",
  "firstExecutionDate": "2007-12-03T10:15:30Z",
  "lastExecutionDate": "2007-12-03T10:15:30Z",
  "sepaBeneficiary": SepaBeneficiaryInput,
  "accountId": "abc123",
  "consentRedirectUrl": "xyz789",
  "reference": "abc123",
  "label": "abc123"
}

ScheduleStandingOrderPayload

Example
ScheduleStandingOrderSuccessPayload

ScheduleStandingOrderSuccessPayload

Fields
Field Name Description
standingOrder - StandingOrder!
Example
{"standingOrder": StandingOrder}

Scheme

Fields
Field Name Description
fields - [Field!]!
title - String!
type - InternationalCreditTransferRoute!
Example
{
  "fields": [Field],
  "title": "xyz789",
  "type": "Aba"
}

SchemeWrongRejection

Description

Rejection returned when adding a B2B mandate with an Individual debtor

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

SelectField

Fields
Field Name Description
key - String!
name - String!
refreshDynamicFieldsOnChange - Boolean!
required - Boolean!
allowedValues - [AllowedValue!]!
Example
{
  "key": "xyz789",
  "name": "abc123",
  "refreshDynamicFieldsOnChange": false,
  "required": true,
  "allowedValues": [AllowedValue]
}

SepaBeneficiaryInput

Description

Sepa beneficiary account

Fields
Input Field Description
iban - IBAN!

International Bank Account Number

name - String!

Full name of the beneficiary (min 2 characters, max 70 characters). The name should not include any special characters.

address - AddressInput

beneficiary address

isMyOwnIban - Boolean!

true if this new beneficiary is the account holder himself in another financial institution.

save - Boolean!

true if this new beneficiary will be saved to the beneficiary list of the debited account.

Example
{
  "iban": "NL55INGB4789170233",
  "name": "abc123",
  "address": AddressInput,
  "isMyOwnIban": false,
  "save": true
}

SepaCreditorIdentifier

Description

SEPA Creditor Identifier format : 1 – 2: ISO Country Code 3 – 4: Check Digit 5 – 7: Creditor Business Code – you (Creditor) choose this. The default is ZZZ 8 - 35: Creditor National Identifier – a consecutive number that will be assigned by country example: FR11ABC123456

Example
SepaCreditorIdentifier

SepaDirectDebitB2BMerchantPaymentMethod

Description

SepaDirectDebitB2BMerchantPaymentMethod

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
useSwanSepaCreditorIdentifier - Boolean! Whether this payment method uses the Swan Sepa Creditor Identifier
sepaCreditorIdentifier - String When the above is false, the value of the Sepa Creditor Identifier used
Example
{
  "id": "4",
  "type": "InternalDirectDebitStandard",
  "productId": "4",
  "methodId": 4,
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 123,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve,
  "useSwanSepaCreditorIdentifier": true,
  "sepaCreditorIdentifier": "abc123"
}

SepaDirectDebitB2BPaymentMethodInput

Fields
Input Field Description
activate - Boolean

If true, the Payment Method will be Enabled

useSwanSepaCreditorIdentifier - Boolean!

If true, the transaction will be created with the Swan Creditor Identifier

sepaCreditorIdentifier - String

Your own SCI - Mandatory if the useSwanCreditorIdentifier is set to false, otherwise Swan does not take this input into account (even if not empty)

Example
{
  "activate": true,
  "useSwanSepaCreditorIdentifier": true,
  "sepaCreditorIdentifier": "xyz789"
}

SepaDirectDebitCoreMerchantPaymentMethod

Description

SepaDirectDebitCoreMerchantPaymentMethod

Fields
Field Name Description
id - ID! Unique identifier tied to every version of a given Merchant Payment Method
type - MerchantPaymentMethodType! The Merchant Payment Method Type
productId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type DEPRECATED use the methodId field instead. Use methodId instead
methodId - ID! Unique identifier for a given merchant Payment Method, identical for every version of a given Merchant Payment Method Type
statusInfo - MerchantPaymentMethodStatusInfo! Status of the Merchant Payment Method
version - Int! Version of the Merchant Payment Method
updatedAt - Date! Date at which the Merchant Payment Method was last updated
rollingReserve - RollingReserve Rolling Reserve applied to the Merchant Payment Method
useSwanSepaCreditorIdentifier - Boolean! Whether this payment method uses the Swan Sepa Creditor Identifier
sepaCreditorIdentifier - String When the above is false, the value of the Sepa Creditor Identifier used
Example
{
  "id": "4",
  "type": "InternalDirectDebitStandard",
  "productId": 4,
  "methodId": "4",
  "statusInfo": MerchantPaymentMethodStatusInfo,
  "version": 123,
  "updatedAt": "2007-12-03",
  "rollingReserve": RollingReserve,
  "useSwanSepaCreditorIdentifier": false,
  "sepaCreditorIdentifier": "xyz789"
}

SepaDirectDebitCorePaymentMethodInput

Fields
Input Field Description
activate - Boolean

If true, the Payment Method will be Pending Review

useSwanSepaCreditorIdentifier - Boolean!

If true, the transaction will be created with the Swan Creditor Identifier

sepaCreditorIdentifier - String

Your own SCI - Mandatory if the useSwanCreditorIdentifier is set to false, otherwise Swan does not take this input into account (even if not empty)

Example
{
  "activate": false,
  "useSwanSepaCreditorIdentifier": false,
  "sepaCreditorIdentifier": "abc123"
}

SepaDirectDebitPaymentCollectionInput

Fields
Input Field Description
mandateId - ID!

Payment Mandate ID generated by Swan

requestedExecutionAt - Date

Date at which the Swan merchant wishes the payment to be executed

Example
{
  "mandateId": "4",
  "requestedExecutionAt": "2007-12-03"
}

SepaPaymentMandateDebtorInput

Fields
Input Field Description
name - String!

SEPA Direct Debit Payment Mandate debtor name

IBAN - String!

SEPA Direct Debit Payment Mandate debtor IBAN

address - AddressInput!
Example
{
  "name": "xyz789",
  "IBAN": "xyz789",
  "address": AddressInput
}

ServerConsentCredentialsNotValidOrOutdatedRejection

Description

Rejection returned when signature is not valid or remote IP address is not allowed

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

ServerConsentNotAllowedForConsentOperationRejection

Description

Rejection returned when server consent is not allowed on the consent

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

ServerConsentNotAllowedForProjectRejection

Description

Rejection returned when server consent is not allowed for the project associated with the consent

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ServerConsentProjectCredentialMissingRejection

Description

Rejection returned when there are no server consent credentials for the project

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ServerConsentProjectCredentialNotFoundRejection

Description

Rejection returned when the server consent project credentials are not found

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ServerConsentProjectSettingsNotFoundRejection

Description

Rejection returned when the server consent project settings are not found

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

ServerConsentSignatureNotValidRejection

Description

Rejection returned when the signature is not valid @Deprecated

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

Shareholder

Description

Shareholder of a company creating a Capital Deposit Case

Fields
Field Name Description
id - ID! Unique identifier of a shareholder.
capitalDepositAmount - Amount! Amount the shareholder has to deposit.
onboarding - Onboarding Onboarding information of the shareholder.
accountId - String Unique identifier of the shareholder account.
status - ShareholderStatus! Status of the shareholder during the process with Swan.
info - ShareholderInfo! Extra information about the shareholder
documents - [CapitalDepositDocument!]! Shareholder documents for the capital deposit case
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": "4",
  "capitalDepositAmount": Amount,
  "onboarding": Onboarding,
  "accountId": "abc123",
  "status": "PendingOnboarding",
  "info": IndividualShareholder,
  "documents": [CapitalDepositDocument],
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

ShareholderInfo

Description

Shareholder information.

Example
IndividualShareholder

ShareholderStatus

Description

Status of the shareholder during the process with Swan.

Values
Enum Value Description

PendingOnboarding

Waiting for the shareholder to finalize its onboarding.

WaitingForVerification

Waiting for Swan compliance team to verify the shareholder.

WaitingForTransfer

Waiting for the shareholder to wire their share of the capital on their temporary Swan account.

CapitalTransferred

When the shareholder has wired their share of the capital.

CapitalFundsWiredToNotary

When the shareholder's capital is wired to the notary.
Example
"PendingOnboarding"

ShareholderType

Description

Shareholder type to identify individuals and companies.

Values
Enum Value Description

Individual

Individual shareholder type.

Company

Company shareholder type.
Example
"Individual"

SignatureData

Description

Signature data used during apple pay inApp provisioning

Fields
Input Field Description
nonce - String!

nonce

nonceSignature - String!

nonce signed by the secure element

certificates - [Certificate!]!

list of apple generated certificates

Example
{
  "nonce": "xyz789",
  "nonceSignature": "abc123",
  "certificates": [Certificate]
}

SingleUseVirtualCardConfigInput

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of a given account membership

name - String

Card name

spendingLimit - SpendingLimitInput!

spending limit

Example
{
  "accountMembershipId": 4,
  "name": "xyz789",
  "spendingLimit": SpendingLimitInput
}

Spending

Description

Spending

Fields
Field Name Description
period - SpendingLimitPeriod! period concerned
amount - Amount amount spent during the period
Example
{"period": "Monthly", "amount": Amount}

SpendingLimit

Description

Spending limits

Fields
Field Name Description
type - SpendingLimitType! type of limit (defined by the Partner, defined by Swan, etc.)
period - SpendingLimitPeriod! period concerned
amount - Amount! sum of amount of spending authorized during the period
Example
{
  "type": "AccountHolder",
  "period": "Monthly",
  "amount": Amount
}

SpendingLimitInput

Description

Inputs when editing spending limit configuration

Fields
Input Field Description
period - SpendingLimitPeriodInput!

period concerned

amount - AmountInput!

sum of amount of spending authorized during the period

Example
{"period": "Monthly", "amount": AmountInput}

SpendingLimitPeriod

Description

Available period to compute spending limits

Values
Enum Value Description

Monthly

Weekly

Daily

Always

Example
"Monthly"

SpendingLimitPeriodInput

Description

Available period to compute spending limits

Values
Enum Value Description

Monthly

Weekly

Daily

Always

Example
"Monthly"

SpendingLimitType

Description

Available type of spending limits

Values
Enum Value Description

AccountHolder

for the account holder - defined by the partner

Partner

for the partner - defined by Swan
Example
"AccountHolder"

StandingOrder

Fields
Field Name Description
id - ID! Standing Order unique identifier
payments - PaymentConnection! A list of payments of an standing order.
Arguments
first - Int!

number of elements in the list (default value 50)

offset - Int

When the list of elements needs to start at a specific offset

after - String

When the list of elements needs to start after a element

orderBy - PaymentOrderByInput

When the list of elements needs to be ordered

filters - PaymentFiltersInput

When the list of elements needs to be filtered

reference - String reference that will be transferred to the beneficiary throughout the entire end-to-end chain
label - String label that will be transferred to the beneficiary
amount - Amount Fixed Amount that will be regularly transferred
targetAvailableBalance - Amount Target available balance value that will be used for periodically clipping the account
period - StandingOrderPeriod! Scheduled period of Standing Order
firstExecutionDate - DateTime Earlier date the Standing Order will be executed
lastExecutionDate - DateTime Latest date the Standing Order will be executed
sepaBeneficiary - SEPABeneficiary! SEPA beneficiary of the Standing Order
statusInfo - StandingOrderStatusInfo! Status of the Standing Order
createdAt - Date! Date the Standing Order has been created
updatedAt - Date! Last date the Standing Order has been updated
account - Account! Account of the Standing Order
createdBy - User! Identity that scheduled the Standing Order
nextExecutionDate - Date Next execution date of the Standing Order, if any
Example
{
  "id": "4",
  "payments": PaymentConnection,
  "reference": "xyz789",
  "label": "xyz789",
  "amount": Amount,
  "targetAvailableBalance": Amount,
  "period": "Daily",
  "firstExecutionDate": "2007-12-03T10:15:30Z",
  "lastExecutionDate": "2007-12-03T10:15:30Z",
  "sepaBeneficiary": SEPABeneficiary,
  "statusInfo": StandingOrderStatusInfo,
  "createdAt": "2007-12-03",
  "updatedAt": "2007-12-03",
  "account": Account,
  "createdBy": User,
  "nextExecutionDate": "2007-12-03"
}

StandingOrderCanceledStatusInfo

Fields
Field Name Description
canceledAt - Date!
status - StandingOrderStatus!
Example
{
  "canceledAt": "2007-12-03",
  "status": "ConsentPending"
}

StandingOrderConnection

Description

Please see the Connection interface

Fields
Field Name Description
pageInfo - PageInfo!
edges - [StandingOrderEdge!]!
totalCount - Int!
Example
{
  "pageInfo": PageInfo,
  "edges": [StandingOrderEdge],
  "totalCount": 123
}

StandingOrderConsentPendingStatusInfo

Fields
Field Name Description
status - StandingOrderStatus!
consent - Consent!
Example
{"status": "ConsentPending", "consent": Consent}

StandingOrderEdge

Description

Please see the Connection interface

Fields
Field Name Description
node - StandingOrder!
cursor - String!
Example
{
  "node": StandingOrder,
  "cursor": "abc123"
}

StandingOrderEnabledStatusInfo

Fields
Field Name Description
status - StandingOrderStatus!
Example
{"status": "ConsentPending"}

StandingOrderNotFoundRejection

Description

Rejection returned when Standing Order is not found

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

StandingOrderPeriod

Values
Enum Value Description

Daily

Weekly

Monthly

Example
"Daily"

StandingOrderStatus

Values
Enum Value Description

ConsentPending

Enabled

Canceled

Example
"ConsentPending"

StandingOrderStatusInfo

Fields
Field Name Description
status - StandingOrderStatus!
Example
{"status": "ConsentPending"}

Statement

Description

A statement represent metadata around a banking document that list all of the BOOKED banking transactions that have happened between startDate and endDate

Fields
Field Name Description
id - ID! unique identifier of the statement
account - Account! account of the statement
openingBalance - Amount! booked balance at the start of the window
closingBalance - Amount! booked balance at the end of the window
openingDate - DateTime! starting date of the date window
closingDate - DateTime! ending date of the date window
status - StatementStatus! status of the statement
period - StatementPeriod period of statement (either custom or monthly)
totalCredits - Amount! the sum of credit transactions during the window
totalDebits - Amount! the sum of debit transactions during the window
fees - Amount! the sum of fee transactions during the window
type - [StatementInfo]! type of statements (ex: PDF)
createdAt - DateTime! created date
updatedAt - DateTime! updated date
Example
{
  "id": 4,
  "account": Account,
  "openingBalance": Amount,
  "closingBalance": Amount,
  "openingDate": "2007-12-03T10:15:30Z",
  "closingDate": "2007-12-03T10:15:30Z",
  "status": "Available",
  "period": "Monthly",
  "totalCredits": Amount,
  "totalDebits": Amount,
  "fees": Amount,
  "type": [StatementInfo],
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

StatementConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More).

Fields
Field Name Description
pageInfo - PageInfo!
totalCount - Int!
edges - [StatementEdge!]!
Example
{
  "pageInfo": PageInfo,
  "totalCount": 987,
  "edges": [StatementEdge]
}

StatementEdge

Description

Implements the Relay Edge interface.

Fields
Field Name Description
node - Statement!
cursor - String!
Example
{
  "node": Statement,
  "cursor": "xyz789"
}

StatementFiltersInput

Description

Filter that can be given to give the statement in a specific data range

Fields
Input Field Description
isAfterUpdatedAt - DateTime

To filter after an updatedAt value

isBeforeUpdatedAt - DateTime

To filter before an updatedAt value

period - StatementPeriod

To filter on a specific period of statement (either custom or monthly)

Example
{
  "isAfterUpdatedAt": "2007-12-03T10:15:30Z",
  "isBeforeUpdatedAt": "2007-12-03T10:15:30Z",
  "period": "Monthly"
}

StatementInfo

Description

Custom information for a certain type of statement

Fields
Field Name Description
type - StatementType
Possible Types
StatementInfo Types

CsvStatement

PdfStatement

Example
{"type": "PDF"}

StatementPeriod

Description

The different periods of statement

Values
Enum Value Description

Monthly

Custom

Example
"Monthly"

StatementStatus

Description

The different statuses of statement

Values
Enum Value Description

Available

Failed

Pending

Example
"Available"

StatementType

Description

The different type of statement actually available

  • PDF will be a PDF file with the statement information
Values
Enum Value Description

PDF

CSV

Example
"PDF"

String

Description

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

Example
"xyz789"

SupportingDocument

Description

Supporting document used for compliance

Fields
Field Name Description
id - String! Unique identifier of the document
statusInfo - SupportingDocumentStatusInfo! Supporting document status information
supportingDocumentType - SupportingDocumentType Type of supporting Document
supportingDocumentPurpose - SupportingDocumentPurposeEnum! Purpose of supporting document
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
Example
{
  "id": "abc123",
  "statusInfo": SupportingDocumentStatusInfo,
  "supportingDocumentType": "Selfie",
  "supportingDocumentPurpose": "AssociationRegistration",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z"
}

SupportingDocumentCollectMode

Values
Enum Value Description

API

EndCustomer

Partner

Example
"API"

SupportingDocumentCollection

Description

Collection of supporting documents used for compliance

Fetching SupportingDocument is restricted to Project access token

Fields
Field Name Description
id - String! Unique identifier of the supporting document collection
statusInfo - SupportingDocumentCollectionStatusInfo! Status of the supporting document collection
createdAt - DateTime! Created date
updatedAt - DateTime! Updated date
supportingDocuments - [SupportingDocument]! List of supported documents contained in the supporting document collection
requiredSupportingDocumentPurposes - [SupportingDocumentPurpose!]! List of required supporting document purposes for this supporting document collection
Example
{
  "id": "xyz789",
  "statusInfo": SupportingDocumentCollectionStatusInfo,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "supportingDocuments": [SupportingDocument],
  "requiredSupportingDocumentPurposes": [
    SupportingDocumentPurpose
  ]
}

SupportingDocumentCollectionApprovedStatusInfo

Description

Supporting document collection with Approved status

Fields
Field Name Description
status - SupportingDocumentCollectionStatus! When the supporting document collection is approved
approvedAt - DateTime! Date on which the supporting document collection has been approved
Example
{
  "status": "WaitingForDocument",
  "approvedAt": "2007-12-03T10:15:30Z"
}

SupportingDocumentCollectionCanceledStatusInfo

Description

Supporting document collection with Canceled status

Fields
Field Name Description
status - SupportingDocumentCollectionStatus! When the supporting document collection is canceled
canceledAt - DateTime! Date on which the supporting document collection has been canceled
Example
{
  "status": "WaitingForDocument",
  "canceledAt": "2007-12-03T10:15:30Z"
}

SupportingDocumentCollectionConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [SupportingDocumentCollectionEdge!]! SupportingDocumentCollectionEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [SupportingDocumentCollectionEdge]
}

SupportingDocumentCollectionEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - SupportingDocumentCollection! The supporting document collection
Example
{
  "cursor": "abc123",
  "node": SupportingDocumentCollection
}

SupportingDocumentCollectionNotFoundRejection

Description

Rejection returned if the supporting document collection was not found

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

SupportingDocumentCollectionPendingReviewStatusInfo

Description

Supporting document collection with PendingReview status

Fields
Field Name Description
status - SupportingDocumentCollectionStatus! When the supporting document collection is completed and in compliance review
Example
{"status": "WaitingForDocument"}

SupportingDocumentCollectionRejectedStatusInfo

Description

Supporting document collection with Rejected status

Fields
Field Name Description
status - SupportingDocumentCollectionStatus! When the supporting document collection is rejected
rejectedAt - DateTime! Date on which the supporting document collection has been rejected
Example
{
  "status": "WaitingForDocument",
  "rejectedAt": "2007-12-03T10:15:30Z"
}

SupportingDocumentCollectionStatus

Description

Verification status of a supporting document collection

Values
Enum Value Description

WaitingForDocument

When the supporting document collection is created and on going

PendingReview

When the supporting document collection is completed and in compliance review

Approved

When the supporting document collection is approved. Final status

Canceled

When the supporting document collection is canceled. Final status

Rejected

When the supporting document collection is rejected. Final status
Example
"WaitingForDocument"

SupportingDocumentCollectionStatusDoesNotAllowDeletionRejection

Description

Rejection returned if supporting document cannot be deleted because its supporting document collection status is not WaitingForDocument

Fields
Field Name Description
message - String!
supportingDocumentCollectionStatus - SupportingDocumentCollectionStatus!
supportingDocumentCollection - SupportingDocumentCollection!
Example
{
  "message": "abc123",
  "supportingDocumentCollectionStatus": "WaitingForDocument",
  "supportingDocumentCollection": SupportingDocumentCollection
}

SupportingDocumentCollectionStatusDoesNotAllowUpdateRejection

Description

Rejection returned if supporting document cannot be updated because its supporting document collection status is not WaitingForDocument

Fields
Field Name Description
message - String!
supportingDocumentCollectionStatus - SupportingDocumentCollectionStatus!
supportingDocumentCollection - SupportingDocumentCollection!
Example
{
  "message": "xyz789",
  "supportingDocumentCollectionStatus": "WaitingForDocument",
  "supportingDocumentCollection": SupportingDocumentCollection
}

SupportingDocumentCollectionStatusInfo

Example
{"status": "WaitingForDocument"}

SupportingDocumentCollectionStatusNotAllowedRejection

Description

Rejection returned if the status transition is not allowed

Fields
Field Name Description
oldStatus - SupportingDocumentCollectionStatus!
newStatus - SupportingDocumentCollectionStatus!
message - String!
Example
{
  "oldStatus": "WaitingForDocument",
  "newStatus": "WaitingForDocument",
  "message": "xyz789"
}

SupportingDocumentCollectionWaitingForDocumentStatusInfo

Description

Supporting document collection with WaitingForUpload status

Fields
Field Name Description
status - SupportingDocumentCollectionStatus! When the Supporting Document Collection is created
Example
{"status": "WaitingForDocument"}

SupportingDocumentCommunicationLanguageSettings

Values
Enum Value Description

en

fr

Example
"en"

SupportingDocumentNotFoundRejection

Description

Rejection returned if the supporting document was not found

Fields
Field Name Description
id - String!
message - String!
Example
{
  "id": "xyz789",
  "message": "abc123"
}

SupportingDocumentNotUploadedStatusInfo

Description

Supporting document with NotUploaded status.

Fields
Field Name Description
status - SupportingDocumentStatus! When the document has not been updated on time.
Example
{"status": "WaitingForUpload"}

SupportingDocumentPostField

Fields
Field Name Description
key - String!
value - String!
Example
{
  "key": "xyz789",
  "value": "abc123"
}

SupportingDocumentPurpose

Description

Details of a supporting document purpose

Fields
Field Name Description
name - SupportingDocumentPurposeEnum! Technical name of the purpose
acceptableSupportingDocumentTypes - [SupportingDocumentType!]! Corresponding supporting document types accepted for this supporting document purpose
Example
{
  "name": "AssociationRegistration",
  "acceptableSupportingDocumentTypes": ["Selfie"]
}

SupportingDocumentPurposeEnum

Description

Supporting document purpose

Values
Enum Value Description

AssociationRegistration

Proof of association registration

Banking

Banking

CompanyRegistration

Proof of company registration

Other

Other

PowerOfAttorney

Signed power of attorney document to give the power to act on behalf.

ProofOfCompanyAddress

Proof of company address

ProofOfCompanyIncome

Proof of company income

ProofOfIdentity

Proof of identity

ProofOfIndividualAddress

Proof of individual address

ProofOfIndividualIncome

Proof of individual income

ProofOfOriginOfFunds

Proof of origin of funds

SignedStatus

Signed status

UBODeclaration

UBO Declaration

SwornStatement

Sworn statement
Example
"AssociationRegistration"

SupportingDocumentRefusedStatusInfo

Description

Supporting document with Refused status

Fields
Field Name Description
status - SupportingDocumentStatus! When the document has been refused by Swan
downloadUrl - String! An unique URL and one-time URL to download the Document
refusedAt - DateTime! Date on which the supporting document collection has been refused
reason - String! Reason why the supporting document has been refused
filename - String! Original file name
Example
{
  "status": "WaitingForUpload",
  "downloadUrl": "abc123",
  "refusedAt": "2007-12-03T10:15:30Z",
  "reason": "xyz789",
  "filename": "abc123"
}

SupportingDocumentSettings

Fields
Field Name Description
collectMode - SupportingDocumentCollectMode!
communicationLanguage - SupportingDocumentCommunicationLanguageSettings
emailContact - String
Example
{
  "collectMode": "API",
  "communicationLanguage": "en",
  "emailContact": "xyz789"
}

SupportingDocumentStatus

Description

Verification status of a document

Values
Enum Value Description

WaitingForUpload

Document is not uploaded yet.

Uploaded

Document has been uploaded but not verified by Swan yet.

Validated

Document has been uploaded and verified by Swan.

Refused

Document has been refused by Swan.

NotUploaded

Document has not been uploaded on time.
Example
"WaitingForUpload"

SupportingDocumentStatusDoesNotAllowDeletionRejection

Description

Rejection returned if supporting document cannot be deleted because of its status

Fields
Field Name Description
supportingDocument - SupportingDocument!
status - SupportingDocumentStatus!
message - String!
Example
{
  "supportingDocument": SupportingDocument,
  "status": "WaitingForUpload",
  "message": "abc123"
}

SupportingDocumentStatusDoesNotAllowUpdateRejection

Description

Rejection returned if supporting document cannot be updated because of its status

Fields
Field Name Description
supportingDocument - SupportingDocument!
status - SupportingDocumentStatus!
message - String!
Example
{
  "supportingDocument": SupportingDocument,
  "status": "WaitingForUpload",
  "message": "xyz789"
}

SupportingDocumentStatusInfo

Example
{"status": "WaitingForUpload"}

SupportingDocumentType

Description

Specific type for document

Values
Enum Value Description

Selfie

Selfie

Passport

Passport

NationalIdCard

NationalIdCard

ResidentPermit

Resident permit

DrivingLicense

Driving license

UtilityBill

Water, Electricity or Gas Bill issued within the last 3 months

PhoneBill

Telephone Bill issued within the last 3 months

RentReceipt

Rental Receipt issued within the last 3 months

HomeInsurance

Home Insurance contract

IncomeTaxReturn

Income Tax return or tax-exemption certificate dating less than 2 years

PaySlip

A pay slip dating less than 3 months

RegisterExtract

Commercial registry extract issued within the last 3 months

ArticlesOfIncorporation

Legal document required for company’s formation

CapitalShareDepositCertificate

Share Deposit Certificate

UBODeclaration

Ultimate Beneficial Owner Declaration

JOAFFEExtract

Association registration proof for french association

CompanyLeaseAgreement

Lease agreement in the name of the business or Proof of Individual Address if the company is hosted by one of the legal representative

BankStatement

Bank Statement

BankAccountDetails

Document with details such as bank name, address, account number and account holder

PowerOfAttorney

Signed power of attorney document to give the power to act on behalf

CorporateIncomeTaxReturn

Document submitted to your tax bureau at the end of the last business period

Other

Other

ByLaws

By Laws

AccountStatement

Account statement

DeedOfDonation

Deed of donation

DeedOfSale

Deed of sale

DeedOfSuccession

Deed of succession

LoanContract

Loan contract

NotarialDeed

Notarial deed

SwornStatement

Sworn statement
Example
"Selfie"

SupportingDocumentUploadInfo

Fields
Field Name Description
url - String!
fields - [SupportingDocumentPostField!]!
Example
{
  "url": "xyz789",
  "fields": [SupportingDocumentPostField]
}

SupportingDocumentUploadNotAllowedRejection

Description

Rejection returned if the supporting document collection cannot receive supporting documents anymore

Fields
Field Name Description
supportingDocumentCollectionStatus - SupportingDocumentCollectionStatus!
message - String!
Example
{
  "supportingDocumentCollectionStatus": "WaitingForDocument",
  "message": "abc123"
}

SupportingDocumentUploadedStatusInfo

Description

Supporting document with Uploaded status

Fields
Field Name Description
status - SupportingDocumentStatus! When the document has been uploaded but not verified by Swan yet
downloadUrl - String! An unique URL and one-time URL to download the Document
filename - String! Original file name
Example
{
  "status": "WaitingForUpload",
  "downloadUrl": "xyz789",
  "filename": "xyz789"
}

SupportingDocumentValidatedStatusInfo

Description

Supporting document with Validated status

Fields
Field Name Description
status - SupportingDocumentStatus! When the document has been uploaded and verified by Swan
downloadUrl - String! An unique URL and one-time URL to download the Document
validatedAt - DateTime! Date on which the supporting document has been validated
filename - String! Original file name
Example
{
  "status": "WaitingForUpload",
  "downloadUrl": "abc123",
  "validatedAt": "2007-12-03T10:15:30Z",
  "filename": "abc123"
}

SupportingDocumentWaitingForUploadStatusInfo

Description

Supporting document with WaitingForUpload status

Fields
Field Name Description
status - SupportingDocumentStatus! When the document is not uploaded yet
upload - SupportingDocumentUploadInfo! Info to upload the document : url and fields to add along file in form (POST)
Example
{
  "status": "WaitingForUpload",
  "upload": SupportingDocumentUploadInfo
}

SuspendAccountMembershipInput

Fields
Input Field Description
accountMembershipId - ID!
Example
{"accountMembershipId": "4"}

SuspendAccountMembershipPayload

SuspendAccountMembershipSuccessPayload

Fields
Field Name Description
accountMembership - AccountMembership!
Example
{"accountMembership": AccountMembership}

SuspendAccountReason

Description

Define a reason with a message and a specific type for suspend account action

Fields
Field Name Description
type - SuspendAccountReasonType!
message - String
Example
{
  "type": "SuspendRequested",
  "message": "xyz789"
}

SuspendAccountReasonType

Description

Specific type for suspend account action

Values
Enum Value Description

SuspendRequested

Simple suspend request
Example
"SuspendRequested"

SuspendAccountStatusReason

Description

SuspendAccountStatusReason

Types
Union Types

SuspendAccountReason

Example
SuspendAccountReason

SuspendPhysicalCardInput

Description

Inputs to suspend a physical card

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

Example
{"cardId": 4}

SuspendPhysicalCardPayload

SuspendPhysicalCardSuccessPayload

Fields
Field Name Description
physicalCard - PhysicalCard! The physicalCard suspended
Example
{"physicalCard": PhysicalCard}

SuspendReceivedDirectDebitMandateInput

Description

Inputs to suspend a received direct debit mandate

Fields
Input Field Description
receivedDirectDebitMandateId - ID!
Example
{"receivedDirectDebitMandateId": "4"}

SuspendReceivedDirectDebitMandatePayload

Example
SuspendReceivedDirectDebitMandateSuccessPayload

SuspendReceivedDirectDebitMandateSuccessPayload

Description

Return type in case of a successful response of the suspendReceivedDirectDebitMandate mutation

Fields
Field Name Description
receivedDirectDebitMandate - ReceivedDirectDebitMandate! the received direct debit mandate is suspended
Example
{"receivedDirectDebitMandate": ReceivedDirectDebitMandate}

SuspendReceivedDirectDebitMandatedRejection

Description

Rejection returned if the SuspendReceivedDirectDebitMandatedRejection mutation is rejected

Fields
Field Name Description
message - String!
reason - SuspendReceivedDirectDebitMandatedRejectionReason!
Example
{
  "message": "abc123",
  "reason": "ReceivedDirectDebitMandateCanceled"
}

SuspendReceivedDirectDebitMandatedRejectionReason

Description

Enum of reasons of rejection for suspendReceivedDirectDebitMandate mutation

Values
Enum Value Description

ReceivedDirectDebitMandateCanceled

Received direct debit mandate is canceled and therefore can't be suspend
Example
"ReceivedDirectDebitMandateCanceled"

SuspendedFundingLimitSettingsStatusInfo

Description

StatusInfo when funding limit settings has been suspended

Fields
Field Name Description
status - FundingLimitSettingsStatus!
reason - String!
Example
{"status": "Enabled", "reason": "abc123"}

SuspendedFundingSourceStatusInfo

Description

Funding Source Suspended status information

Fields
Field Name Description
status - FundingSourceStatus! Funding Source Suspended status
suspendedAt - Date! Date at which the funding source was suspended
Example
{
  "status": "Pending",
  "suspendedAt": "2007-12-03"
}

SuspendedMerchantPaymentMethodStatusInfo

Description

SuspendedMerchantPaymentMethodStatusInfo

Fields
Field Name Description
status - MerchantPaymentMethodStatus!
suspendedAt - Date! Merchant Payment Method suspended date
Example
{
  "status": "PendingReview",
  "suspendedAt": "2007-12-03"
}

SuspendedMerchantProfileStatusInfo

Description

SuspendedMerchantProfileStatusInfo

Fields
Field Name Description
status - MerchantProfileStatus!
suspendedAt - Date!
Example
{
  "status": "PendingReview",
  "suspendedAt": "2007-12-03"
}

SwanAccountBeneficiaryInput

Description

Swan account beneficiary

Fields
Input Field Description
accountNumber - AccountNumber!

account number to be credited

name - String!

full name of the beneficiary (max 70 characters)

save - Boolean!

true if this new beneficiary will be saved to the beneficiary list of the debited account.

Example
{
  "accountNumber": "000000012345",
  "name": "abc123",
  "save": false
}

SwanIdentificationStatus

Values
Enum Value Description

Pending

ToReview

Valid

Invalid

Example
"Pending"

TextField

Fields
Field Name Description
displayFormat - String
example - String
key - String!
maxLength - Int
minLength - Int
name - String!
refreshDynamicFieldsOnChange - Boolean!
required - Boolean!
validationRegex - String
Example
{
  "displayFormat": "xyz789",
  "example": "abc123",
  "key": "abc123",
  "maxLength": 123,
  "minLength": 123,
  "name": "abc123",
  "refreshDynamicFieldsOnChange": false,
  "required": false,
  "validationRegex": "xyz789"
}

TooManyChildConsentsRejection

Description

Rejection returned when trying to create a multi consent with too many child consents

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

TooManyItemsRejection

Description

Rejection returned if too many items are given

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

Transaction

Description

Transaction

Fields
Field Name Description
id - ID! unique identifier of the transaction
reference - String! external identifier of the transaction
paymentMethodIdentifier - String! payment method identifier used for this transaction. e.g masked PAN or IBAN or accountNumber
side - TransactionSide! side (Credit or Debit)
type - TransactionTypeEnum! type
amount - Amount! amount
label - String! label
statusInfo - TransactionStatusInfo! status information
paymentId - String ID of the payment associated to this transaction
payment - Payment payment associated to this transaction
createdAt - DateTime! created date
updatedAt - DateTime! updated date
counterparty - String! name of the counterparty. e.g Merchant name, Creditor name, Beneficiary Name ...
bookedBalanceAfter - Amount booked balance after this transaction
paymentProduct - PaymentProduct! payment product used for this transaction
account - Account matching account for this transaction
externalReference - String

an arbitrary identifier that was defined by you when you created this transaction.

For example, you can define it in the CreditTransferInput mutation.

executionDate - DateTime! a date that reflects the execution date of a transaction from a user viewpoint. Can be used for sorting transactions.
requestedExecutionAt - DateTime a date that reflects the time at which the user asked the transaction to be executed
originTransactionId - String ID of the origin transaction associated to this transaction
originTransaction - Transaction origin transaction associated to this transaction
Example
{
  "id": "4",
  "reference": "abc123",
  "paymentMethodIdentifier": "abc123",
  "side": "Debit",
  "type": "InternalCreditTransferOut",
  "amount": Amount,
  "label": "xyz789",
  "statusInfo": TransactionStatusInfo,
  "paymentId": "abc123",
  "payment": Payment,
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "counterparty": "abc123",
  "bookedBalanceAfter": Amount,
  "paymentProduct": "InternalCreditTransfer",
  "account": Account,
  "externalReference": "abc123",
  "executionDate": "2007-12-03T10:15:30Z",
  "requestedExecutionAt": "2007-12-03T10:15:30Z",
  "originTransactionId": "abc123",
  "originTransaction": Transaction
}

TransactionConnection

Description

Please see the Connection interface

Fields
Field Name Description
pageInfo - PageInfo!
totalCount - Int!
edges - [TransactionEdge!]!
Example
{
  "pageInfo": PageInfo,
  "totalCount": 123,
  "edges": [TransactionEdge]
}

TransactionEdge

Description

Please see the Edge interface

Fields
Field Name Description
node - Transaction!
cursor - String!
Example
{
  "node": Transaction,
  "cursor": "xyz789"
}

TransactionSide

Description

Transaction side

Values
Enum Value Description

Debit

when the transaction debit the account

Credit

when the transaction credit the account
Example
"Debit"

TransactionStatus

Description

Transaction status

Values
Enum Value Description

Booked

when the transaction is posted to the Swan book and impact the booked balance

Rejected

when the transaction is rejected

Pending

when the transaction is pending and the amount impact the available balance

Canceled

when a pending transaction is canceled and the amount is released on the available balance

Upcoming

when the transaction is upcoming (scheduled credit transfer, direct debit ...)

Released

when a card authorization is released after X days or fully consumed by X debits
Example
"Booked"

TransactionStatusInfo

Description

Transaction Status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
Example
{"status": "Booked"}

TransactionTypeEnum

Description

Transaction Type

Values
Enum Value Description

InternalCreditTransferOut

When an internal Credit Transfer debited a Swan account.

InternalCreditTransferOutReturn

When an internal Credit Transfer debited a Swan account and Swan or the Swan creditor returned the funds.

InternalCreditTransferOutRecall

When an internal Credit Transfer debited a Swan account, Swan or the Swan debtor asked for a recall of the transaction, and Swan or the Swan creditor accepted the recall request.

InternalCreditTransferIn

When an internal Credit Transfer credited a Swan account.

InternalCreditTransferInReturn

When an internal Credit Transfer credited a Swan account and Swan or the Swan debtor returned the funds.

InternalCreditTransferInRecall

When an internal Credit Transfer credited a Swan account, Swan or the Swan creditor asked for a recall of the transaction, and Swan or the Swan debtor accepted the recall request.

SepaCreditTransferOut

When a Sepa Credit Transfer debited a Swan account.

SepaInstantCreditTransferOut

When an instant Sepa Credit Transfer debited a Swan account.

SepaInstantCreditTransferIn

When an instant Sepa Credit Transfer credited a Swan account.

SepaCreditTransferOutReturn

When a Sepa Credit Transfer debited a Swan account and the creditor bank or the creditor returned the funds.

SepaInstantCreditTransferOutRecall

When a Sepa Instant Credit Transfer debited a Swan account, Swan or the Swan debtor asked for a recall of the transaction, and the creditor bank or the creditor accepted the recall request.

SepaInstantCreditTransferInRecall

When a Sepa Instant Credit Transfer credited a Swan account, Swan or the Swan creditor asked for a recall of the transaction, and the debtor bank or the debtor accepted the recall request.

SepaCreditTransferOutRecall

When a Sepa Credit Transfer debited a Swan account, Swan or the Swan debtor asked for a recall of the transaction, and the creditor bank or the creditor accepted the recall request.

SepaCreditTransferIn

When a Sepa Credit Transfer credited a Swan account.

SepaCreditTransferInReturn

When a Sepa Credit Transfer credited a Swan account and Swan or the Swan debtor returned the funds.

SepaCreditTransferInRecall

When a Sepa Credit Transfer credited a Swan account, Swan or the Swan creditor asked for a recall of the transaction, and the debtor bank or the debtor accepted the recall request.

FeesOut

When a fee is debited from a Swan account.

FeesIn

When a fee is credited to a Swan account.

SepaDirectDebitIn

When a Sepa Direct Debit credited a Swan account.

SepaDirectDebitInReturn

When a Sepa Direct Debit credited a Swan account and the debtor bank or the debtor returned it.

SepaDirectDebitInReversal

COMING SOON When a Sepa Direct Debit credited a Swan account and Swan or the Swan creditor reversed it.

SepaDirectDebitOut

When a Sepa Direct Debit debited a Swan account.

SepaDirectDebitOutReturn

When a Sepa Direct Debit debited a Swan account and Swan or the Swan debtor returned it.

SepaDirectDebitOutReversal

When a Sepa Direct Debit debited a Swan account and the creditor bank or the creditor reversed it.

CardOutAuthorization

When a card authorization has been received by Swan.

CardOutDebit

When a card debit debited a Swan account.

CardOutDebitReversal

When a card debit has been reversed by the merchant (credited on a Swan account).

CardOutCredit

When a card credit credited a Swan account.

CardOutCreditReversal

When a card credit has been reversed by the merchant (debited on a Swan account).

InternalDirectDebitIn

When an Internal Direct Debit credited a Swan account.

InternalDirectDebitInReturn

When an Internal Direct Debit credited a Swan account and Swan or the debtor returned the funds.

InternalDirectDebitOut

When an Internal Direct Debit debited a Swan account.

InternalDirectDebitOutReturn

When an Internal Direct Debit debited a Swan account and Swan or the debtor returned the funds.

CheckIn

When a Check credited a Swan account.

CheckInReturn

When a Check credited a Swan account and Swan or the debtor returned the funds.

InternationalCreditTransferIn

COMING SOON When an International Credit Transfer credited a Swan account.

InternationalCreditTransferOut

COMING SOON When an International Credit Transfer debited a Swan account.

InternationalCreditTransferInReturn

COMING SOON When an International Credit Transfer credited a Swan account and Swan or the Swan debtor returned the funds.

InternationalCreditTransferOutReturn

COMING SOON When an International Credit Transfer debited a Swan account and Swan or the Swan debtor returned it.
Example
"InternalCreditTransferOut"

TransactionsFiltersInput

Description

the criteria to filter transactions

Fields
Input Field Description
status - [TransactionStatus!]

To filter on some Transaction Status (all if empty)

paymentProduct - [PaymentProduct!]

To filter on some Payment Products (all if empty)

isAfterUpdatedAt - DateTime

To filter after an updatedAt value

isBeforeUpdatedAt - DateTime

To filter before an updatedAt value

search - String

To filter on some text occurrences (words or ids)

type - [TransactionTypeEnum!]

To filter on some transaction types

includeRejectedWithFallback - Boolean

To filter so it includes rejected transactions that had a fallback (true by default)

Example
{
  "status": ["Booked"],
  "paymentProduct": ["InternalCreditTransfer"],
  "isAfterUpdatedAt": "2007-12-03T10:15:30Z",
  "isBeforeUpdatedAt": "2007-12-03T10:15:30Z",
  "search": "abc123",
  "type": ["InternalCreditTransferOut"],
  "includeRejectedWithFallback": true
}

TransactionsOrderByField

Values
Enum Value Description

id

createdAt

updatedAt

executionDate

Example
"id"

TransactionsOrderByInput

Description

the criteria to sort transactions

Fields
Input Field Description
field - TransactionsOrderByField
direction - OrderByDirection
Example
{"field": "id", "direction": "Asc"}

TypeOfRepresentation

Description

Quality of the account holder doing the onboarding

Values
Enum Value Description

LegalRepresentative

The account holder is the legal representative

PowerOfAttorney

The account holder has a power of attorney
Example
"LegalRepresentative"

UpcomingTransactionStatusInfo

Description

Upcoming transaction status information

Fields
Field Name Description
status - TransactionStatus! status of the transaction
executionDate - DateTime! The date when the transaction will be executed
Example
{
  "status": "Booked",
  "executionDate": "2007-12-03T10:15:30Z"
}

UpdateAccountHolderInput

Fields
Input Field Description
accountHolderId - ID!
vatNumber - String
taxIdentificationNumber - String
Example
{
  "accountHolderId": 4,
  "vatNumber": "xyz789",
  "taxIdentificationNumber": "xyz789"
}

UpdateAccountHolderPayload

Example
UpdateAccountHolderSuccessPayload

UpdateAccountHolderSuccessPayload

Fields
Field Name Description
accountHolder - AccountHolder!
Example
{"accountHolder": AccountHolder}

UpdateAccountInput

Description

Inputs to update an account

Fields
Input Field Description
accountId - ID!

unique identifier of an account

name - String

name

language - AccountLanguage

language

Example
{
  "accountId": "4",
  "name": "xyz789",
  "language": "de"
}

UpdateAccountMembershipInput

Description

Inputs to update an account membership

Fields
Input Field Description
accountMembershipId - ID!

unique identifier of an account membership

email - String

email

restrictedTo - UpdatedRestrictedToInput

restricted to a user if necessary

canViewAccount - Boolean

true if this account membership can view account balances and transactions history

canManageBeneficiaries - Boolean

true if this account membership can add or canceled beneficiaries

canInitiatePayments - Boolean

true if this account membership can initiate payments

canManageAccountMembership - Boolean

true if this account membership can invite, update, suspend or resume memberships

canAddCards - Boolean

true if this account membership can add cards to himself or to the memberships he manages @deprecated(reason: "use canManageCards instead")

canManageCards - Boolean

COMING SOON true if this account membership can manage cards for himself or to the memberships he manages

spendingLimit - SpendingLimitInput

Periodic Spending limit

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

residencyAddress - ResidencyAddressInput

Residency address of the member to be added

taxIdentificationNumber - String

Tax Identification Number of the user added

Example
{
  "accountMembershipId": 4,
  "email": "xyz789",
  "restrictedTo": UpdatedRestrictedToInput,
  "canViewAccount": true,
  "canManageBeneficiaries": false,
  "canInitiatePayments": false,
  "canManageAccountMembership": false,
  "canAddCards": true,
  "canManageCards": true,
  "spendingLimit": SpendingLimitInput,
  "consentRedirectUrl": "abc123",
  "residencyAddress": ResidencyAddressInput,
  "taxIdentificationNumber": "xyz789"
}

UpdateAccountMembershipPayload

UpdateAccountMembershipSuccessPayload

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

UpdateAccountPayload

UpdateAccountSuccessPayload

Fields
Field Name Description
account - Account!
Example
{"account": Account}

UpdateCardInput

Description

Input to Update Card

Fields
Input Field Description
cardId - ID!

unique identifier of the card to update

cardContractExpiryDate - DateTime

Card expiration date if null it does not have an expiration date

withdrawal - Boolean!

true if this card allows cash withdrawals

international - Boolean!

true if this card allows payments outside of the country

nonMainCurrencyTransactions - Boolean!

true if this card allows transactions outside of the card's main currency

eCommerce - Boolean!

true if this card allows transactions at eCommerce sites

spendingLimit - SpendingLimitInput

Periodic Spending limit

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

name - String

Card name

Example
{
  "cardId": "4",
  "cardContractExpiryDate": "2007-12-03T10:15:30Z",
  "withdrawal": true,
  "international": true,
  "nonMainCurrencyTransactions": false,
  "eCommerce": false,
  "spendingLimit": SpendingLimitInput,
  "consentRedirectUrl": "xyz789",
  "name": "xyz789"
}

UpdateCardPayload

UpdateCardSuccessPayload

Fields
Field Name Description
consent - Consent!
Example
{"consent": Consent}

UpdateCompanyOnboardingInput

Fields
Input Field Description
accountName - String

Account name of the company account holder. Length must be from 0 to 100 characters

accountCountry - AccountCountry

Country of the account that will be created at the end of the onboarding process

name - String

Name of the company. Length must be from 0 to 255 characters

registrationNumber - String

Registration number of the company (SIRET, ...). Length must be from 0 to 50 characters

companyType - CompanyType

Type of the company (Association ...)

businessActivity - BusinessActivity

Business activity

businessActivityDescription - String

Business activity description. Length must be from 0 to 1024 characters

monthlyPaymentVolume - MonthlyPaymentVolume

Estimated monthly payment volume (euro)

individualUltimateBeneficialOwners - [IndividualUltimateBeneficialOwnerInput!]

The ultimate beneficial owner is defined as the natural person (s) who own or control, directly and/or indirectly, the reporting company.

The ultimate beneficial owner is :

  • either the natural person (s) who hold, directly or indirectly, more than 25% of the capital or the rights of vote of the reporting company;
  • either the natural person (s) who exercise, by other means, a power of control of the company;
residencyAddress - ResidencyAddressInput

Residency address of the head office (Must be in a European country)

email - String

Email of the legal representative. Length must be from 0 to 255 characters

language - String

Language of the onboarding process. Must be compliant with RFC 5646

isRegistered - Boolean

Is company registered at RCS in its country

onboardingId - ID!

Id of onboarding to be updated. Must be a valid UUID v4. Required

vatNumber - String

VAT number

taxIdentificationNumber - String

Tax Identification Number

legalRepresentativePersonalAddress - AddressInformationInput

Legal representative personal address

typeOfRepresentation - TypeOfRepresentation

Type of representation (legal representative or power of attorney)

Example
{
  "accountName": "xyz789",
  "accountCountry": "FRA",
  "name": "xyz789",
  "registrationNumber": "abc123",
  "companyType": "Association",
  "businessActivity": "AdministrativeServices",
  "businessActivityDescription": "abc123",
  "monthlyPaymentVolume": "Between10000And50000",
  "individualUltimateBeneficialOwners": [
    IndividualUltimateBeneficialOwnerInput
  ],
  "residencyAddress": ResidencyAddressInput,
  "email": "xyz789",
  "language": "abc123",
  "isRegistered": false,
  "onboardingId": 4,
  "vatNumber": "xyz789",
  "taxIdentificationNumber": "abc123",
  "legalRepresentativePersonalAddress": AddressInformationInput,
  "typeOfRepresentation": "LegalRepresentative"
}

UpdateCompanyOnboardingPayload

Description

Possible results for mutation updateCompanyOnboarding

Example
ForbiddenRejection

UpdateCompanyOnboardingSuccessPayload

Description

Result when updateCompanyOnboarding is a success

Fields
Field Name Description
onboarding - OnboardingInfo!
Example
{"onboarding": OnboardingInfo}

UpdateIndividualOnboardingInput

Fields
Input Field Description
accountName - String

Account name of the individual account holder. Length must be from 0 to 255 characters

accountCountry - AccountCountry

Country of the account that will be created at the end of the onboarding process

employmentStatus - EmploymentStatus

Employment status of the individual account holder

monthlyIncome - MonthlyIncome

Monthly income of the individual account holder

residencyAddress - ResidencyAddressInput

Residency address of the individual account holder (must be in a European country)

email - String

Email. Length must be from 0 to 255 characters

language - String

Language of the onboarding process. Must be compliant with RFC 5646

onboardingId - ID!

Id of onboarding to be updated. Must be a valid UUID v4. Required

taxIdentificationNumber - String

Tax Identification Number

Example
{
  "accountName": "xyz789",
  "accountCountry": "FRA",
  "employmentStatus": "Craftsman",
  "monthlyIncome": "LessThan500",
  "residencyAddress": ResidencyAddressInput,
  "email": "abc123",
  "language": "abc123",
  "onboardingId": 4,
  "taxIdentificationNumber": "xyz789"
}

UpdateIndividualOnboardingPayload

Description

Possible result types for updateIndividualOnboarding

Example
ForbiddenRejection

UpdateIndividualOnboardingSuccessPayload

Description

Type of result when updateIndividualOnboarding is a success

Fields
Field Name Description
onboarding - OnboardingInfo!
Example
{"onboarding": OnboardingInfo}

UpdateReceivedSepaDirectDebitB2bMandateInput

Description

Inputs to update a received sepa direct debit mandate B2b.

Fields
Input Field Description
receivedDirectDebitMandateId - ID!

The unique mandate id

mandateReference - String

The unique identifier of the received direct debit mandate

creditorIdentifier - String

The Sepa Creditor Identifier of the creditor

creditorName - String

The name of the creditor

iban - String

The Swan Iban of the debtor

name - String

Label that will be displayed along with this received direct debit mandate in the web banking

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "receivedDirectDebitMandateId": 4,
  "mandateReference": "abc123",
  "creditorIdentifier": "xyz789",
  "creditorName": "abc123",
  "iban": "xyz789",
  "name": "abc123",
  "consentRedirectUrl": "xyz789"
}

UpdateReceivedSepaDirectDebitB2bMandatePayload

Example
UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload

UpdateReceivedSepaDirectDebitB2bMandateSuccessPayload

Description

Return type in case of a successful response of the updateReceivedSepaDirectDebitB2bMandate mutation

Fields
Field Name Description
receivedDirectDebitMandate - ReceivedDirectDebitMandate! The received direct debit mandate updated
Example
{"receivedDirectDebitMandate": ReceivedDirectDebitMandate}

UpdateSupportingDocumentInput

Fields
Input Field Description
supportingDocumentId - ID!
supportingDocumentType - SupportingDocumentType
supportingDocumentPurpose - SupportingDocumentPurposeEnum
Example
{
  "supportingDocumentId": 4,
  "supportingDocumentType": "Selfie",
  "supportingDocumentPurpose": "AssociationRegistration"
}

UpdateSupportingDocumentPayload

UpdateSupportingDocumentSuccessPayload

Fields
Field Name Description
supportingDocument - SupportingDocument!
Example
{"supportingDocument": SupportingDocument}

UpdateUserConsentSettingsInput

Fields
Input Field Description
userId - ID!

Swan user id

preferredNotificationChannel - PreferredNotificationChannel!

Preferred consent notification channel, Sms or App

Example
{"userId": 4, "preferredNotificationChannel": "Sms"}

UpdateUserConsentSettingsPayload

Example
UpdateUserConsentSettingsSuccessPayload

UpdateUserConsentSettingsSuccessPayload

Fields
Field Name Description
userConsentSettings - UserConsentSettings!
Example
{"userConsentSettings": UserConsentSettings}

UpdateUserConsentSettingsTokenRejection

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

UpdatedRestrictedToInput

Description

Input when the account membership is restricted to a verified user

Fields
Input Field Description
firstName - String

Account member first name

lastName - String

Account member last name

birthDate - Date

Account member birth date

phoneNumber - String

Account member phone number

Example
{
  "firstName": "xyz789",
  "lastName": "xyz789",
  "birthDate": "2007-12-03",
  "phoneNumber": "xyz789"
}

User

Description

The User is the unique user, natural person, of the Swan app.

Fields
Field Name Description
id - ID! unique identifier of the user
accountMemberships - AccountMembershipConnection! The list of account memberships
Arguments
first - Int!
before - String
after - String
mobilePhoneNumber - PhoneNumber mobile phone number with the international format (Example: +33689788967)
firstName - String first name
lastName - String last name
allFirstNames - [String!] list of first names
birthDate - Date birth date
nationalityCCA3 - CCA3 nationality
idVerified - Boolean! true if Swan has verified the user's identity
authenticators - [Authenticator!] the methods used to authenticate this user
identificationStatus - IdentificationStatus

Identification status

Each attempt to go through our identity verification process will update this value.

This field is only available for the current user.

identificationLevels - IdentificationLevels

List of identification levels available for the user.

Whenever TRUE, it means the identification was successful for the associated level.

preferredNotificationChannel - PreferredNotificationChannel

Preferred notification channel

When it is "null" it means that the preferences have not been updated. Default SMS in use

createdAt - DateTime! Creation date of the user
updatedAt - DateTime! Last update date of the user
joinedAt - DateTime! Date on which the user joined the project. Joining the project is done after the first accepted OAuth login.
identifications - IdentificationConnection!

DO NOT USE.

This feature is currently in development, it probably doesn't work and we will make breaking changes without warning.

Arguments
first - Int!
after - String
Example
{
  "id": "4",
  "accountMemberships": AccountMembershipConnection,
  "mobilePhoneNumber": "+17895551234",
  "firstName": "abc123",
  "lastName": "abc123",
  "allFirstNames": ["xyz789"],
  "birthDate": "2007-12-03",
  "nationalityCCA3": CCA3,
  "idVerified": false,
  "authenticators": [Authenticator],
  "identificationStatus": "Uninitiated",
  "identificationLevels": IdentificationLevels,
  "preferredNotificationChannel": "Sms",
  "createdAt": "2007-12-03T10:15:30Z",
  "updatedAt": "2007-12-03T10:15:30Z",
  "joinedAt": "2007-12-03T10:15:30Z",
  "identifications": IdentificationConnection
}

UserConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [UserEdge!]! UserEdge list
Example
{
  "totalCount": 987,
  "pageInfo": PageInfo,
  "edges": [UserEdge]
}

UserConsentSettings

Fields
Field Name Description
preferredNotificationChannel - PreferredNotificationChannel! Preferred notification channel
userId - String! User identifier
projectId - String! Project identifier
Example
{
  "preferredNotificationChannel": "Sms",
  "userId": "xyz789",
  "projectId": "xyz789"
}

UserEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this consent node in the pagination mechanism
node - User! The consent
Example
{
  "cursor": "abc123",
  "node": User
}

UserFilterInput

Fields
Input Field Description
birthDate - Date
firstName - String
identificationLevel - IdentificationLevelInput
lastName - String
mobilePhoneNumber - String
nationalityCCA3 - CCA3
preferredNotificationChannel - PreferredNotificationChannel
Example
{
  "birthDate": "2007-12-03",
  "firstName": "xyz789",
  "identificationLevel": "Expert",
  "lastName": "xyz789",
  "mobilePhoneNumber": "abc123",
  "nationalityCCA3": CCA3,
  "preferredNotificationChannel": "Sms"
}

UserNotAllowedToDisableItsOwnAccountMembershipRejection

Fields
Field Name Description
accountMembershipId - String!
message - String!
Example
{
  "accountMembershipId": "abc123",
  "message": "xyz789"
}

UserNotAllowedToManageAccountMembershipRejection

Description

Rejection returned if a identity does not have enough permission to manage account membership

Fields
Field Name Description
message - String!
Example
{"message": "abc123"}

UserNotAllowedToSuspendItsOwnAccountMembershipRejection

Fields
Field Name Description
accountMembershipId - String!
message - String!
Example
{
  "accountMembershipId": "abc123",
  "message": "abc123"
}

UserNotCardHolderRejection

Description

Rejection returned when the User is not the Card Holder

Fields
Field Name Description
message - String!
Example
{"message": "xyz789"}

ValidIban

Description

Information extracted from a valid IBAN

Fields
Field Name Description
iban - IBAN! Iban from input
accountNumber - String! Account Number extracted from the IBAN
checksum - String! Checksum extracted from the IBAN
bank - Bank! Bank that owns this IBAN
reachability - Reachability! Reachability of this IBAN over different payment methods
Example
{
  "iban": "NL55INGB4789170233",
  "accountNumber": "xyz789",
  "checksum": "abc123",
  "bank": Bank,
  "reachability": Reachability
}

ValidationError

Description

A detail of a validation error : what field is errored and why

Fields
Field Name Description
field - String! Onboarding property that is not matching requirements to allow a finalization
errors - [FieldValidationError!] Constraints that are not matched on the Onboarding property
Example
{"field": "abc123", "errors": ["Missing"]}

ValidationFieldError

Fields
Field Name Description
code - ValidationFieldErrorCode!
message - String!
path - [String!]!
Example
{
  "code": "InvalidString",
  "message": "xyz789",
  "path": ["xyz789"]
}

ValidationFieldErrorCode

Values
Enum Value Description

InvalidString

InvalidType

TooLong

TooShort

UnrecognizedKeys

Example
"InvalidString"

ValidationRejection

Description

Rejection returned if an input contains invalid data

Fields
Field Name Description
fields - [ValidationFieldError!]!
message - String!
Example
{
  "fields": [ValidationFieldError],
  "message": "abc123"
}

VerificationFlow

Description

Verification Flow.

Values
Enum Value Description

Upfront

When you ask the account holder to start the verification process at the beginning of the relationship to get an unlimited account.

Progressive

When you ask the account holder the minimum required to comply the law at the beginning of the relationship.
Example
"Upfront"

VerificationStatus

Description

Verification status of an account holder

Values
Enum Value Description

NotStarted

When the account holder has not started to answer the verification process.

WaitingForInformation

When Swan is waiting for information about the account holder to continue the verification process.

Pending

When the verification process is pending.

Verified

When the account holder is verified.

Refused

When the account holder is refused.
Example
"NotStarted"

VerifiedStatusInfo

Description

Enabled Information

Fields
Field Name Description
verifiedAt - DateTime! Date at which the verification was verified
status - AccountVerificationStatus! Account verification status (Verified)
Example
{
  "verifiedAt": "2007-12-03T10:15:30Z",
  "status": "PendingVerification"
}

ViewCardNumbersInput

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "cardId": "4",
  "consentRedirectUrl": "xyz789"
}

ViewCardNumbersPayload

ViewCardNumbersSuccessPayload

Fields
Field Name Description
consent - Consent! The consent required to view card numbers
Example
{"consent": Consent}

ViewPhysicalCardNumbersInput

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "cardId": "4",
  "consentRedirectUrl": "xyz789"
}

ViewPhysicalCardNumbersPayload

Example
ViewPhysicalCardNumbersSuccessPayload

ViewPhysicalCardNumbersSuccessPayload

Fields
Field Name Description
consent - Consent! The consent required to view card numbers
Example
{"consent": Consent}

ViewPhysicalCardPinInput

Fields
Input Field Description
cardId - ID!

Unique identifier of a card

consentRedirectUrl - String!

URL the user is redirected to after consent has been given

Example
{
  "cardId": "4",
  "consentRedirectUrl": "xyz789"
}

ViewPhysicalCardPinPayload

ViewPhysicalCardPinSuccessPayload

Fields
Field Name Description
consent - Consent! The consent required to view card numbers
Example
{"consent": Consent}

VirtualIBANEntry

Description

Virtual IBAN can be used by the account holder to receive SCT (Sepa Credit Transfer) or to be debited by SDD (Sepa Direct Debit).

Fields
Field Name Description
id - ID! Unique identifier of a Virtual IBAN entry
IBAN - IBAN! International Bank Account Number
BIC - BIC! Bank Identifier Code
label - String Label (could be used to identify)
status - IBANStatus! Status of the Iban
blockSDD - Boolean! true if the Virtual IBAN refuses all Sepa Direct Debit received
Example
{
  "id": 4,
  "IBAN": "NL55INGB4789170233",
  "BIC": BIC,
  "label": "xyz789",
  "status": "Enabled",
  "blockSDD": false
}

VirtualIBANEntryConnection

Description

Implements the Relay Connection interface, used to paginate list of element ( Learn More)

Fields
Field Name Description
totalCount - Int! Total number of element in the list
pageInfo - PageInfo! Information about the current, the previous and the next page
edges - [VirtualIBANEntryEdge!]! VirtualIBANEntryEdge list
Example
{
  "totalCount": 123,
  "pageInfo": PageInfo,
  "edges": [VirtualIBANEntryEdge]
}

VirtualIBANEntryEdge

Description

Implements the Relay Edge interface

Fields
Field Name Description
cursor - String! Opaque identifier pointing to this node in the pagination mechanism
node - VirtualIBANEntry! The virtual iban entry
Example
{
  "cursor": "abc123",
  "node": VirtualIBANEntry
}

WalletProvider

Description

Wallet Provider (ApplePay, GooglePay ...)

Fields
Field Name Description
name - String! name of the Wallet Provider (Apple / Google / Amazon or Unknown)
id - String! id of the Wallet Provider
Example
{
  "name": "xyz789",
  "id": "abc123"
}

WalletProviderType

Description

Wallet Provider

Values
Enum Value Description

ApplePay

GooglePay

Example
"ApplePay"

WebBankingSettings

Fields
Field Name Description
canViewAccountDetails - Boolean
canViewAccountStatement - Boolean
canManageVirtualIbans - Boolean
canInitiatePaymentsToNewBeneficiaries - Boolean
canViewPaymentList - Boolean
canOrderVirtualCards - Boolean
canOrderPhysicalCards - Boolean
canViewMembers - Boolean
canAddNewMembers - Boolean
Example
{
  "canViewAccountDetails": false,
  "canViewAccountStatement": true,
  "canManageVirtualIbans": false,
  "canInitiatePaymentsToNewBeneficiaries": true,
  "canViewPaymentList": true,
  "canOrderVirtualCards": false,
  "canOrderPhysicalCards": true,
  "canViewMembers": true,
  "canAddNewMembers": true
}